您的位置:首页 > 编程语言

如何用代码注册广播接收者

2016-12-27 22:37 281 查看

如何动态注册广播接收者

注册广播接收者有两种方法:在清单文件里配置,或者直接用代码注册广播接收者。

使用代码注册广播接受者更加的灵活,可以随时解除注册。另外,安卓系统的屏幕锁屏和解锁及电量改变的广播接收者只能用代码注册,在清单文件中注册时是无效的。

使用代码注册广播比较简单,一般我们需要开启一个服务,然后在服务里来注册广播。

广播已经在代码设置了所有的属性,意味着我们不需要在清单文件里去注册广播了,但是服务需要在清单文件里去注册。

@Override
public void onCreate() {
super.onCreate();

receiver = new ScreenReceiver();

IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);

registerReceiver(receiver, filter);
}

@Override
public void onDestroy() {
super.onDestroy();

unregisterReceiver(receiver);
}


public class ScreenReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(Intent.ACTION_SCREEN_OFF)){
System.out.println("屏幕关闭");
}
if(action.equals(Intent.ACTION_SCREEN_ON)){
System.out.println("屏幕打开");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息