BoardcastReceiver的简单使用

动态注册:不打开程序无法接受广播

 1 public class MyBRReceiver extends BroadcastReceiver{
 2     @Override
 3     public void onReceive(Context context, Intent intent) {
 4         Toast.makeText(context,"网络状态发生改变",Toast.LENGTH_SHORT).show();
 5     }
 6 }
 7 MainActivity.java中动态注册广播:
 8 public class MainActivity extends AppCompatActivity {
 9 
10     MyBRReceiver myReceiver;
11 
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_main);
16         //核心部分代码:
17         myReceiver = new MyBRReceiver();
18         IntentFilter itFilter = new IntentFilter();
19         itFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
20         registerReceiver(myReceiver, itFilter);
21     }
22 
23     //别忘了将广播取消掉哦~
24     @Override
25     protected void onDestroy() {
26         super.onDestroy();
27         unregisterReceiver(myReceiver);
28     }
29 }
BroadcastReceiver

 

 

静态注册:Android 4.3以上的版本,是允许将程序安装到SD卡上的,就会收不到开机广播

 1 public class MyBroadCastReceiver extends BroadcastReceiver {
 2 
 3     @Override
 4     public void onReceive(Context context, Intent intent) {
 5         // TODO Auto-generated method stub
 6         if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()))
 7         {
 8             Toast.makeText(context, "开机完成",Toast.LENGTH_LONG);
 9         }
10     }
11 
12 }
BroadcastReceiver

 

1 <receiver android:name=".BootCompleteReceiver">
2     <intent-filter>
3         <action android:name = "android.intent.cation.BOOT_COMPLETED"/>
4     </intent-filter>
5 </receiver>
6 
7 <!-- 权限 -->
8 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
AndroidManifest.xml

 

转载于:https://www.cnblogs.com/share-nc/p/6591084.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值