/**利用服务注册广播接收者
*
* 操作频繁的广播事件,如果使用系统注册,每次接受广播消息的时候都去配置文件查找接收事件类型,这样耗费时间。
* 手机屏幕锁屏、解屏;
*/
// 步骤:
//1、写一个广播接收者:
public class TestBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if("android.intent.action.SCREEN_ON".equals(action)){
System.out.println("=============SCREEN_ON===========");
}
if("android.intent.action.SCREEN_OFF".equals(action)){
System.out.println("=============SCREEN_OFF===========");
}
}
}
//2、写一个服务类,在oncreate方法中注册广播接收者:
public class TestService extends Service {
@Override
public void onCreate() {
super.onCreate();
//使用代码注册广播接收者
TestBroadcastReceiver receiver = new TestBroadcastReceiver();
//创建一个意图过滤器,并且指定广播接收者接收的事件类型
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.SCREEN_ON");
filter.addAction("android.intent.action.SCREEN_OFF");
//注册广播接收者,并且使用意图过滤器开启它
this.registerReceiver(receiver, filter);
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}
//3、在清单文件中配置接收者和服务:
<receiver android:name="com.itheima.serviceregistereceiver.
TestBroadcastReceiver">
</receiver>
<service android:name="com.itheima.serviceregistereceiver.TestService"></service>
利用服务注册广播
最新推荐文章于 2024-05-15 07:55:48 发布