我有一个关于Android Receiver的问题。 我可以更改系统应用程序。 当用户打开电源时,B是第一个应用程序。但问题是当用户选择FACTORY模式(如设置语言,谷歌ID ...)时,B App必须开始完成A App设置。这就是使用android:enabled =“false”和A App触发B app的原因。但不行。
我认为“android.intent.action.BOOT_COMPLETED”在启动后只发送一次,因此在更改启用接收器B应用程序后,它无效。这样对吗? 请你给我一些建议吗?
应用
PackageManager pm = getPackageManager();
ComponentName compName = new ComponentName("com.test.myapp", "com.test.myapp.receiver");
pm.setComponentEnabledSetting(compName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);
B App AndoidManifest.xml
<receiver
android:name="com.test.myapp.receiver"
android:enabled="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
B App
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
Intent startMainActivityIntent = new Intent(context, new.class);
startMainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startMainActivityIntent);
}