У меня есть загрузчик загрузчика. Но после того, как пользователь установил приложение, мой слушатель не запускается до первой загрузки. есть ли способ проверить, работает ли мой прослушиватель или нет?
Если вы добавили ресивер для android.intent.action.BOOT_COMPLETED
, который будет транслироваться после завершения загрузки.
Он не будет выполнен после того, как приложение будет установлено, и нет способа автоматически запускать приложение после установки, пользователь должен явно нажать на него.
Перезагрузите телефон, и если вы правильно прослушаете, он работает. Чтобы проверить, может быть, добавить код к слушателю, возможно, следует запустить Service
или Activity
или поднять Toast
Вы не можете делать то, что хотите, но вы можете добавить дополнительные фильтры намерений к вашему широковещательному приемнику 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
}
Это определенно не гарантированное решение, но оно, скорее всего, сработает.