Як оновити користувальницький інтерфейс в broadcastreceiver 2018
Androids .help український Android-спільнота.
Я створив додаток, в якому я зареєстрував радіомовний приймач в моєю головною класу (Main Activity) і щоразу, коли я отримую щось в моєму BroadcastReceiver Я хочу, щоб оновити користувальницький інтерфейс для, наприклад, Я хочу показати вікно з попередженням, або встановити який-небудь текст зору моєї MainActivity. Я отримую все значення в моєму приймачі, але не може встановити їх, хтось може допомогти мені, щоб я міг оновити користувальницький інтерфейс в BroadcastReceiver.
Мій BroadcastReceiver клас внутрішній клас MainActivity на зразок цього: -
Будь-яка допомога буде помітна
Top 5 відповідь
Я використовую зовсім інший підхід до that.Pass екземпляр обробника для трансляції приймач, помістивши його в intent.Than в радіомовного приймача використовували цей обробник, щоб відправити повідомлення вам клас активності, яка оновлює інтерфейс в вашому методі onHandleMessage настроюється обробника клас.
в даний час використовують Myhandler handler = new MyHandler (); створити цей об'єкт обробника на глобальну область видимості рівня активності.
Тепер покладіть цей обробник в вас наміри putExtra. а потім відправити цей намір за допомогою sendBraodcast (intent).
в ефірі класу приймача отримати цей об'єкт -обработчік по getExtras і використовувати його, як показано нижче в методі onReceive ()
Я пропоную вам використовувати обробник.
Initialize a Handler in the Activity, example: handler = new Handler () Provide the handler to the BroadcastReceiver in the constructor, in the same way as I did for NissanTabBroadcast above Use post () method of your Handler instance in the onReceive () method to submit the Runnable that updates the UI
Еточістое рішення я можу собі уявити.
Я Intent, щоб радіомовний приймач знати про обробника примірника основного потоку активність і використовується повідомлення передати повідомлення з основною діяльністю
Я використовував такий механізм, щоб перевірити, якщо радіомовний приймач вже зареєстрований чи ні. Іноді це необхідно при реєстрації радіомовні динамічно і не хочу, щоб зробити його в два рази або ви уявити користувачеві, якщо радіомовний приймач працює.