BOOT_COMPLETED? Хочу, чтобы мой BroadcastReceiver получал сообщение на каждый запуск устройства.
Вот манифест:
```
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
...
<receiver
android:name=".services.bootCompletedListener.BootCompletedListener"
android:exported="true"
android:enabled="true">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
```
Вот сам ресивер:
```
class BootCompletedListener : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Toast.makeText(context, "BOOOOOOOOOOT", Toast.LENGTH_LONG)
Log.w("subsun warning", "I cought boot")
val intent1 = Intent(context, MainActivity::class.java)
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(intent1)
}
}
```
На onReceive пробую всё подряд, ни тост не показывается, ни активити не запускается, ли в логи ничего не пишется.
После установки приложения Android Studio его автоматом запускает, но я на всякий случай ещё и сам закрываю и запускаю руками через иконку, до перезагрузки устройства.
am broadcast -a android.intent.action.BOOT_COMPLETED можно вместо того чтобы перезапускать само устройство
тосты запретили из фона показывать. проверяй логом, или писком динамика, или записью в шареды. Или targetSdk понизь этак до 25, на нем еще можно было из фона кидать тосты
category убери. У меня без него норм работает. Код тут, в библиотеке https://github.com/psa98/Dont_Kill_My_App/tree/master/app/keep_alive_library/src/main
Что-то я никак не могу эту проблему побороть. Никак не хочет мой ресивер ловить сигнал. Уже точкой останова дебажу и отправляю сигнал через adb - всё без толку. > adb shell am broadcast -a android.intent.action.BOOT_COMPLETED Broadcasting: Intent { act=android.intent.action.BOOT_COMPLETED flg=0x400000 } Broadcast completed: result=0 Может, у вас свежим взглядом получится нати проблему? Ресивер уже до смешного упростил: package ru.lefty.subsun.services.bootCompletedListener import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.util.Log class BootCompletedListener : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { if (intent.action == Intent.ACTION_BOOT_COMPLETED) { Log.w("WWWarning", "I caught boot") } } } Манифест тот же, вариации action-ов и category в intent-filter все перепробовал, ничего не срабатывает.
https://stackoverflow.com/questions/20441308/boot-completed-not-working-android пробовал?
Обсуждают сегодня