Это то, что я использую сейчас:Set InnerClass BroadcastReceiver для андроида действия
в OnCreate метод:
registerReceiver(bootup, new IntentFilter("android.intent.action.BOOT_COMPLETED"));
время загрузки приемника:
BroadcastReceiver bootup = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("test", "received");
}
};
Они оба в Класс MainActivity моего приложения. Я хочу, чтобы получатель загрузки вызывался при завершении загрузки телефона. Мне нужно это в классе MainActivity, потому что мне нужно получить доступ к нему из нескольких вещей.
Как бы это установить? Мое текущее решение не работает.
EDIT: опубликовано решение похоже, что оно будет работать для моей цели, и это то, что было предложено другими потоками. Однако, когда я устанавливаю оператор журнала в получателе, с которым он связан, в консоли ничего не появляется. Это потому, что приложение не работает? Я также попробовал отправить уведомление с диспетчером уведомлений
EDIT 2: Я принял совет и переключился на трансляцию в другом классе для обнаружения перезагрузки. Он работает, просто изменяя атрибут name в файле манифеста. Это причина, почему я не могу использовать приемник внутреннего класса, на самом деле не имеет никакого смысла по сравнению с тем, что я видел по другим вопросам. Может кто-нибудь объяснить, почему я не могу указать получателя на внутренний класс, и почему я должен использовать отдельный класс?
Это не возможно. Во время загрузки ваша деятельность не определяется, вы не можете получить к ней доступ. – F43nd1r