Android 接收不到开机广播,接收不到adb发送的广播
最近在弄一个开机自启动的需求,已经按照一般方法静态注册,写一个接受广播,也将应用安装到系统目录 /system/app,但是就是接收不到广播,也接收不到adb自己发送的广播。哪位大佬能帮帮忙

public class UpdateReceiver extends BroadcastReceiver {
public static final String TAG = UpdateReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
String packageName = intent.getDataString().substring(8);
Log.i(TAG,"BootReceiver onReceive():接收到Intent.getAction() = "+intent.getAction()+" , 包名 = "+intent.getDataString());
/**
* 接收安装广播
* android.intent.action.PACKAGE_ADDED
* */
if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {
Log.i(TAG,"BootReceiver onReceive():安装了:" + packageName + "包名的程序");
}
/**
* 接收卸载广播
* android.intent.action.PACKAGE_REMOVED
* */
if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {
Log.i(TAG,"接收卸载广播");
}
/**
* 接收更新广播
* android.intent.action.PACKAGE_REPLACED
* */
if(action.equals(Intent.ACTION_PACKAGE_REPLACED)){
Log.i(TAG,"BootReceiver onReceive():更新了:" + packageName + "包名的程序,context.getPackageName()="+context.getPackageName());
Intent intent2 = new Intent(context, SettingActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
/**
* 接收重启广播
* android.intent.action.PACKAGE_REPLACED
* */
if(action.equals(Intent.ACTION_PACKAGE_RESTARTED)){
Log.i(TAG,"BootReceiver onReceive():重启了:" + packageName + "包名的程序");
Intent intent2 = new Intent(context, SettingActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
/**
* 接收开机广播
* android.intent.action.BOOT_COMPLETED
* */
if(action.equals(Intent.ACTION_BOOT_COMPLETED)){
Log.i(TAG,"BootReceiver onReceive():仪器开机,开启了:" + packageName + "包名的程序");
Intent intentMainActivity = new Intent(context, SettingActivity.class);
intentMainActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intentMainActivity);
}
}
}<receiver
android:name=".receiver.UpdateReceiver"
android:label="@string/app_name"> <!-- app open/delete/upgrade/completed receiver -->
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" /> <!-- add -->
<action android:name="android.intent.action.PACKAGE_REPLACED" /> <!-- update -->
<action android:name="android.intent.action.PACKAGE_REMOVED" /> <!-- delete -->
<action android:name="android.intent.action.PACKAGE_RESTARTED" /> <!-- restart -->
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
...全文
相关推荐
android开机自启动APP及使用adb命令测试方法
今天小编就为大家分享一篇android开机自启动APP及使用adb命令测试方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
adb发送广播
adb发送系统或自定义的广播,在Android客户端接收发送的广播。
安卓开机自启动程序
安卓开机 重启 自启动程序 亲测可用
制作android安卓开机自启动的app.zip
制作android安卓开机启动的app.zip
Android中的广播和广播接收器代码实例
主要介绍了Android中的广播和广播接收器代码实例,本文讲解了定义一个广播接收器、发送广播,定义好action标志、用Intent发送、注册只接收指定action的广播接收器、取消该广播接收器等操作代码实例,需要的朋友可以参考下


