У меня есть вопрос об Android Receiver. Я могу изменить системное приложение. B — это первое приложение, когда пользователь включает питание. Но проблема в том, что когда пользователь выбирает ЗАВОДСКОЙ режим (например, настройку языка, идентификатора Google...), приложение B должно быть запущено для завершения настройки приложения A. Вот почему используйте android:enabled="false" и приложение A, запускающее приложение B. Но не работает.
Я думаю, что «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 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>
Приложение Б
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);
}
registerReceiver()
иderegisterReceiver
. Для получения дополнительной информации см. это: stackoverflow.com/questions/4134203 / - person uniruddh   schedule 20.04.2015