大佬教程收集整理的这篇文章主要介绍了广播接收器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
sendorderedbroadcast()方法接收两个参数,第一个参数仍然是 Intent,第二个参数是一个与权限相关的字符串,这里传入 null就行了。
注册的时候广播设定的priority的优先级
ID:name=".MybroadcastReceiver"> ID:name="com.example.broadcasttest.MY_broaDCAST"/>
终止广播
主要就是使用了一个LocalbroadcastManager来对广播进行管理
本地广播的优点
可以明确地知道正在发送的广播不会离开我们的程序,因此不需要担心机密数据泄漏的问题。
其他的程序无法将广播发送到我们程序的内部,因此不需要担心会有安全漏洞的隐患。
发送本地广播比起发送系统全局广播将会更加高效
Intent intent = new Intent("com.example.broadcasttest. LOCAL_broaDCAST");
localbroadcastManager.sendbroadcast(intent); // 发送本地广播
broadcasttest.LOCAL_broaDCAST");
localReceiver = new LocalReceiver();
localbroadcastManager.registerReceiver(localReceiver,intentFilter);
localbroadcastManager.unregisterReceiver(localReceiver);
broadcastReceiver {
@OverrIDe public voID onReceive(Context context,Intent intent) {
Toast.makeText(context,"received local broadcast",Toast.LENGTH_SHORT).show();
}
}
1. 添加网络权限
2. 继承广播接收者
@H_673_80@broadcastReceiver { @OverrIDe public voID onReceive(Context context,Intent intent) { Connectivitymanager connectionManager = (Connectivitymanager) getSystemservice(Context.CONNECTIVITY_serviCE); NetworkInfonetworkInfo = connectionManager.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isAvailable()) { Toast.makeText(context,"network is available",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context,"network is unavailable",Toast.LENGTH_SHORT).show(); } } }
3. 注册监听网络变化
ID.net.conn.CONNECTIVITY_CHANGE");
networkChangeReceiver = new NetworkChangeReceiver(); // 自定义的类,继承至broadcastReceiver
registerReceiver(networkChangeReceiver,intentFilter);
......
1.添加权限
2.继承广播接收者
lic class BootCompleteReceiver extends broadcastReceiver {
@OverrIDe public voID onReceive(Context context,"Boot Complete",Toast.LENGTH_LONG).show();
}
}
3.Manifest中静态注册
<>ID:name="androID.intent.action.bOOT_COMPLETED"/>
发送一条广播
接收到广播后finish掉所有的activity
ollector.finishAll(); // 销毁所有活动
Intent intent = new Intent(context,LoginActivity.class);
**intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);**
context.startActivity(intent); // 重新启动LoginActivity
设置AlertDialog的类型,保证在广播接收器中可以正常弹出
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.getwindow().setType(WindowManager.LayoutParams.TYPE_SYSTE M_ALERT);
alertDialog.show();
[doc]
以上是大佬教程为你收集整理的广播接收器全部内容,希望文章能够帮你解决广播接收器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。