发送广播
val SERVICE_PACKAGE = "com.autoai.media.center"
val SERVICE_CLASS = "com.autoai.media.center.broadcast.LoginReceiver"
val intent = Intent()
intent.action = "com.autoai.media"
intent.componentComponentName(SERVICE_PACKAGE,SERVICE_CLASS)
intent.putExtra("ACCOUNT", 2)
context.sendBroadcast(intent)
广播
class LoginReceiver : BroadcastReceiver() {
private val action = "com.autoai.media"
private val TAG = "LoginReceiver"
override fun onReceive(context: Context, intent: Intent) {
Log.d(TAG, "onReceive")
if (action == intent.action) {
Log.d(TAG, "AccountActivity--registerReceiver")
val type = intent.getIntExtra("ACCOUNT",-1)
Log.d(TAG, type.toString())
}
}
}
manifest
<receiver
android:name=".broadcast.LoginReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.autoai.media" />
</intent-filter>
</receiver>
注册注销
private lateinit var netRecevier: BroadcastReceiver
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
netRecevier = LoginReceiver()
registerReceiver(netRecevier,IntentFilter())
}
override fun onPause() {
super.onPause()
unregisterReceiver(netRecevier)
}