目录
1.3 apk发送广播可以静态接收需要增加的0x01000000
2.5 rk平台 7.1 10.0 11.0 如何查看频率电压表
3.0 rk3566 Android11 1000M以太网回环测试
1. 发送广播恢复出厂设置
1.1 Android7.1及以前的版本使用如下adb命令
adb shell am broadcast -a android.intent.action.MASTER_CLEAR
1.2 Android8.0及以后的版本使用如下adb命令
adb shell am broadcast -a android.intent.action.MASTER_CLEAR -f 0x01000000
Android O以及O以后的版本对隐式广播做了限制,这种限制主要是把广播用于进程间通信时,广播Receiver无法接收到广播,发送广播时需要FLAG_RECEIVER_INCLUDE_BACKGROUND的Flag(FLAG_RECEIVER_INCLUDE_BACKGROUND=0x01000000)
发送广播不加-f 0x01000000,会有如下报错:
W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.MASTER_CLEAR flg=0x400010 } to android/com.android.server.MasterClearReceiver
1.3 apk发送广播可以静态接收需要增加的0x01000000
但由于FLAG_RECEIVER_INCLUDE_BACKGROUND被加了**@hide注解,所以应用层代码无法找到该变量(无法成功编译代码),故直接使用0x01000000
Intent i = new Intent();
i.addFlags(0x01000000);
i.setAction("android.intent.action.MASTER_CLEAR");
mContext.sendBroadcast(i);
1.4 发送定向广播
intent.setPackage("应用包名");
Intent intent = new Intent("neostra.android.action.REBOOT");
intent.setPackage("com.android.copyfile");
context.sendBroadcast(intent)