关于在BroadcastReceiver中启动Activity的问题

来源:互联网 发布:淘宝pc端在哪里 编辑:程序博客网 时间:2024/05/16 19:52

1.Android中广播注册的两种方式方式

  • 静态注册(在 AndroidManifest.xml 中 )
 <!-- 注册自定义静态广播接收器 -->   <receiver android:name=".MyBroadcast">       <intent-filter>          <action android:name="com.test.broadcast" />       </intent-filter>   </receiver>
  • 动态注册
    registerReceiver(BroadcastReceiver receiver, IntentFilterfilter)
    第一个参数是我们要处理广播的BroadcastReceiver,第二个参数是意图过滤器。

注意:当我们动态注册广播的时候,在该广播的onReceive方法中启动Activity是不会报错的,只有在静态注册广播的时候才会报错

2.代码实现

定义广播:
这里写图片描述

注册广播:
这里写图片描述

发送广播:
这里写图片描述

注意:如果没有设置标记—— in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
会报错,截图如下:
这里写图片描述

0 0
原创粉丝点击