我有一个关于 Android Receiver 的问题。我可以更改系统应用程序。B是第一个应用程序,当用户打开电源时。但问题是当用户选择FACTORY Mode(如设置语言,google id...)时,必须启动B App完成A App设置。这就是为什么使用 android:enabled="false" 和 A App trigger 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应用
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);
}