Я не получаю трансляцию BOOT_COMPLETED, когда я тестирую свой телефон HUAWEI p6. Широковещательный принимается только один раз после установкиAndroid BOOT_COMPLETED Неисправность вещания
Вот AndroidManifest
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
....
<receiver android:name=".receiver.WakefulBootReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.QUICKBOOT_POWERON"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name=".receiver.AlarmNotificationReceiver">
</receiver>
<receiver android:name=".receiver.MyWakefulReceiver">
</receiver>
BootReceiver:
public class WakefulBootReceiver extends WakefulBroadcastReceiver {
public static String CALLER_ID = "WakefulBootReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Alog.debug("WakefulBootReceiver Before IntentService");
Intent service = new Intent(context, AlarmSetService.class);
service.putExtra("SERVICE_CALLER", CALLER_ID);
startWakefulService(context, service);
}
}
И IntentService:
@Override
protected void onHandleIntent(Intent intent) {
Alog.debug("AlarmSetService/onHandleIntent");
Bundle extras = intent.getExtras();
String caller = "";
if (extras != null) {
caller = extras.getString("SERVICE_CALLER");
}
checkForTodayAlarms();
if (caller.equals("MyWakefulReceiver")) {
Alog.debug("AlarmSetService/caller MyWakefulReceiver");
MyWakefulReceiver.completeWakefulIntent(intent);
} else {
Alog.debug("AlarmSetService/caller WakefulBootReceiver");
WakefulBootReceiver.completeWakefulIntent(intent);
}
Он работает на эмуляторе. И работает по телефону, когда я посылаю трансляцию с:
./adb оболочки
утра широковещательный -a android.intent.action.BOOT_COMPLETED
Я открыл приложение несколько раз перед перезагрузкой. Установлен на устройстве.
Любая помощь будет оценена
Благодаря
Попробуйте удалить '<категория андроид: имя = "android.intent.category.DEFAULT"/>' от намерения фильтра – Karakuri
Иметь такое же поведение. Обновлено описание –
Добавление разрешения WAKE_LOCK ** и ** удаление упомянутой строки кода @Karakuri, часть загрузочного кода вашего кода работает на моем Nexus 5. – blackcj