android中如何发送一个广播
2024-10-21 18:56:14
1.首先要声明广播
- private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver()
- {
- @Override
- public void onReceive(Context context, Intent intent) //onReceive函数不能做耗时的事情,参考值:10s以内
- {
- Log.d("scott", "on receive action="+intent.getAction());
- String action = intent.getAction();
- if (action.equals("com.scott.sayhi"))
- {
- showDialog("on receive action="+intent.getAction());
- }
- }
- };
2.其次要注册广播,有两种方式:xml注册和代码注册
xml注册:
<receiver Android:name="com.scott.sayhi.MyBroadcastReceiver" >
<intent-filter>
<action android:name="com.scott.sayhi" />
</intent-filter>
</receiver>
代码注册:
IntentFilter filter = new IntentFilter();
filter.addAction("com.scott.sayhi");
MyActivity.this.registerReceiver(mBroadcastReceiver, filter);
上述2个步骤就可以了。
3.发送广播
- Intent intent = new Intent();
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setAction("com.scott.sayhi");
- MyActivity.this.sendBroadcast(intent);
4.收听开机广播
intent-filter设置如下即可
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
最新文章
- FragmentPagerAdapter加载fragment并使用setUserVisibleHint()处理预加载时遇到的坑,给textview赋值时出现的空指针异常
- Codeforces554B:Ohana Cleans Up
- Java中sql语句的引号问题
- @import与link
- Web开发者的六个代码调试平台
- css3,background-clip/background-origin的使用场景,通俗讲解
- Java对象转xml报文和xml报文转Java对象帮助类
- Hadoop2.4代码的坑
- poj3709
- LeetCode_Triangle
- (原)STL中vector的疑问
- Storm-0.9.0.1安装部署 指导
- OSGi-开发环境的建立和HelloWorld(04)
- 危险 AI 花名册
- python练习小文章-文本爬虫
- Java——IO流 对象的序列化和反序列化流ObjectOutputStream和ObjectInputStream
- C#进行数据筛选(二)
- java AES加密、解密(兼容windows和linux)
- 20145204 《Java程序设计》第7周学习总结
- MFGTool2批量操作