首先,在AndroidManifest中将service置于独立进程:
<service
android:name=".services.downloadService"
android:enabled="true"
android:exported="true"
android:process=":service"/>
1,在service内发送广播
Intent mIntent = new Intent("dukerDev");
mIntent.putExtra("msg", "Download completed" );
sendBroadcast(mIntent);
2,在activity内接收广播
private final IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("dukerDev");
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("dukerDev")){
Log.e(TAG,"broadcast rec " + intent.getStringExtra("msg"));
}
}
};
registerReceiver(mBroadcastReceiver, intentFilter);
@Override
protected void onDestroy() {
try {
unregisterReceiver(mBroadcastReceiver);
}catch (Exception ex){
}
super.onDestroy();
}