提高广播接收者权限
BROADCAST RECEIVER广播接收者
1.接受广播的intent
2.可以在清单文件中注册和代码中注册
3.无序广播 异步,不可被终止 (假异步)
里面也是按照优先级别来先后广播的
4.有序广播 同步,可以被终止
|
如何提高广播接收者的权限 1、权限越高的广播接收者,优先得到广播 IntentFilter filter = new IntentFilter();
filter.addAction("android.provider.Telephony.SMS_RECEIVED");
filter.setPriority(Integer.MAX_VALUE);// 设置为最大优先级别
registerReceiver(mySmsReciver, filter); 2、权限相同的广播接收者,谁先注册,就谁先得到广播(一般在重启广播接收者注册) 所以,可以在手机重启时,就注册广播接收者,而且是纯净的代码,速度最快 |
核心代码:(在手机重启的时候开启短信拦截) 1、手机重启广播接收者BootCompletedReceiver.java package cn.zengfansheng.receiverreboot;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/**
* 手机重启广播接收者
* @author hacket
*
*/
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("手机重启完毕~~~");
// 开启短信监听的服务
// Toast.makeText(context, "手机重启完毕~~~", 0).show();
Intent smsIntent = new Intent(context, SmsReceiverServices.class);
context.startService(smsIntent);
}
} 2、短信拦截服务(里面注册了短信到来广播接收者)
|
|