Android广播(BroacastReceiver)与服务(Service)

人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述Android广播(BroacastReceiver)与服务(Service)相关的知识,希望能为你提供帮助。
BroadcastReceiver可以理解成是一种组件,是默默的在改后台运行的,用于在不同软件和不同组件之间的传递,无法被用户感知,因为他在系统的内部工作,BroadcastReceiver被称为广播。
一、广播的注册有两种方式: 
1、动态注册,使用java代码进行注册
2、静态注册,需要在androidMainfest进行注册
二、我们先来讲解下如何静态注册:
1、我们先来创建一个继承BroadcastReceiver的类,实现onReceive方法,为了更好的体验,我们在这个方法里面弹一个吐司
onReceive在接受到广播后会触发

1 public class MsgService extends BroadcastReceiver { 2 3private String ACTION_SGC = "android.intent.action.BOOT_COMPleTED"; 4 5@Override 6public void onReceive(Context context, Intent intent) { 7if(ACTION_SGC.equals(intent.getAction())){ 8Toast.makeText(context,"静态广播",Toast.LENGTH_SHORT).show(); 9} 10} 11 }

2、这是需要在AndroidMainfest中进行注册
1 < uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"> < /uses-permission> 2 3< application 4android:allowBackup="true" 5android:icon="@mipmap/ic_launcher" 6android:label="@string/app_name" 7android:roundIcon="@mipmap/ic_launcher_round" 8android:supportsRtl="true" 9android:theme="@style/AppTheme"> 10< activity android:name=".MainActivity"> 11< intent-filter> 12< action android:name="android.intent.action.MAIN" /> 13 14< category android:name="android.intent.category.LAUNCHER" /> 15< /intent-filter> 16< /activity> 17< receiver android:name=".MsgService"> 18< intent-filter> 19< action android:name="android.intent.action.BOOT_COMPleTED"> < /action> 20< /intent-filter> 21< /receiver> 22< /application>

注册的代码是在17行到20行,别忘了还要写上权限,权限就是第一个行的权限
3、如何使用广播
1 public class MainActivity extends AppCompatActivity { 2 3@Override 4protected void onCreate(Bundle savedInstanceState) { 5super.onCreate(savedInstanceState); 6setContentView(R.layout.activity_main); 7init(); 8} 9 10private void init() { 11findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { 12@Override 13public void onClick(View v) { 14//这里的意图必须使用和其他一样的意图android.intent.action.BOOT_COMPleTED 如果使用的不一样,将会出现错误 15sendBroadcast(new Intent("android.intent.action.BOOT_COMPleTED")); 16} 17}); 18} 19 }

 
 


【Android广播(BroacastReceiver)与服务(Service)】

    推荐阅读