Проверка прослушивателя работает или нет

1

У меня есть загрузчик загрузчика. Но после того, как пользователь установил приложение, мой слушатель не запускается до первой загрузки. есть ли способ проверить, работает ли мой прослушиватель или нет?

Теги:

2 ответа

1
Лучший ответ

Если вы добавили ресивер для android.intent.action.BOOT_COMPLETED, который будет транслироваться после завершения загрузки.

Он не будет выполнен после того, как приложение будет установлено, и нет способа автоматически запускать приложение после установки, пользователь должен явно нажать на него.

Перезагрузите телефон, и если вы правильно прослушаете, он работает. Чтобы проверить, может быть, добавить код к слушателю, возможно, следует запустить Service или Activity или поднять Toast

  • 0
    Да, мой слушатель уже начинает загрузку. Но моя проблема заключается в том, что слушатель приложения должен запускаться до загрузки (после установки и перед загрузкой).
  • 1
    Как я уже говорил, он не может запуститься после установки автоматически. И я не вижу такой вещи, чтобы начать перед загрузкой ни на ПК. Что вы пытаетесь запустить?
Показать ещё 5 комментариев
0

Вы не можете делать то, что хотите, но вы можете добавить дополнительные фильтры намерений к вашему широковещательному приемнику ACTION_SCREEN_OFF и ACTION_SCREEN_ON, после чего вы, скорее всего, получите некоторую трансляцию до того, как телефон отключится, поэтому ваше приложение способный работать после первой установки до перезагрузки устройства.

<receiver android:name=".screenOnOffReceiver">
                                <intent-filter>
                        <action android:name="android.intent.action.SCREEN_ON" />
                    </intent-filter>
                                <intent-filter>
                        <action android:name="android.intent.action.SCREEN_OFF" />
                    </intent-filter>
                </receiver>

И при первом запуске приложения вы можете сохранить что-то в sharedPreferences, например

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences();
SharedPreferences.Editor editor = pref.edit();

editor.putBoolean("hasRun", true");
editor.commit();

И каждый раз, когда этот приемник запускает onReceive(...), он может делать следующее:

boolean hasRun pref.getBoolean("hasRun", false);
if (!hasRun){
//do code here
}

Это определенно не гарантированное решение, но оно, скорее всего, сработает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню