显式意图
在创建intent时就给定组件名字
例如:
val intent = Intent(this,MyReceiver::class.java)//给定了组件MyReceiver
//------------------------------------------------------------------
val intent = Intent()
//或(给定包名和类名)
intent.setComponent(ComponentName("com.daban.testservice","com.daban.testservice.BootReceiver"))
//或(给定包名)
intent.setPackage("com.daban.testservice")
this.sendBroadcast(intent)//发送广播,只给该组件
隐式意图
在创建intent时只给定action
例如:
val intent = Intent("com.daban.broadcast")//只给定action("com.daban.broadcast")
this.sendBroadcast(intent)//发送广播,给该过滤的action
清单文件中对该action进行过滤,所有过滤该action的都会收到
<receiver
android:name=".BootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.daban.broadcast" />
</intent-filter>
</receiver>