我注意到我的华为测试设备(Huawei P20)没有检测到BOOT_COMPLETED动作,而其他测试设备却有检测到(Samsung ...)。我知道添加我的应用程序受保护的应用程序(手动模式) 可以解决我的问题,但最终用户不知道如何添加受保护不足的应用程序。 有什么方法可以检测系统BOOT而无需添加受保护不足的应用程序(手动模式)?
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".recivers.BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
接收器:
public class BootBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "BootBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent . getAction ();
if (action != null && action.equals(Intent.ACTION_BOOT_COMPLETED)) {
Toast.makeText(context, "BOOT", Toast.LENGTH_LONG).show();
Log.e(TAG, "BOOT");
}
}
}
答案 0 :(得分:0)
我也有这个问题,发生的事情是,华为拥有一层控制应用程序的层,这意味着重新启动它们。 您必须转到设置->电池->自动启动
正如他们在这里提到的 Intent BOOT_COMPLETED not working on Huawei device