静态广播 。。。。 低版本安卓系统5.1.0广播方式 Intent mIntent=new Intent("com.activity.MainActivity"); //这里的intent(action...) 对应的是一个自定义的唯一字符串,用来与接收广播端一一对应。 context.sendBroadcast(mIntent);//发送广播
高版本安卓系统8.1.0广播
。。。。
Intent mIntent=new Intent("com.activity.MainActivity");
//mIntent.setComponent。。。用来解决安卓8.1.0无法接受到广播的问题。注意接收方如果为内部类则用$符号分割
mIntent.setComponent(new
ComponentName(context,"com.activity.MainActivity$MessageReceiver"));//注意接收方如果为内部类则用$符号分割
context.sendBroadcast(mIntent);//发送广播
广播接收端是内部类
<!--静态注册广播-->AndroidManifest.xml <receiver android:name=".MainActivity$MessageReceiver" android:enabled="true" android:exported="true"> <intent-filter> <!--自定义action--> <action android:name="com.activity.MainActivity"/> </intent-filter> </receiver>
接收广播的是activity里的内部类MessageReceiver public class MainActivity extends Activity {
。。。。。。。。。。。。。
public static class MessageReceiver extends BroadcastReceiver
{ public MessageReceiver(){ } @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (intent.getAction().equals(“com.activity.MainRongActivity”)) { ....... intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } } } }
。。。。。。}
这样之后不管是高版本还是低版本安卓系统都能收到广播了