2014-09-11 2 views
0

Я новичок в android, и я знаю, что этот вопрос задан очень много, но я не нашел хорошего решения.Android, как транслировать фоновое уведомление на текущую активную активность?

У меня есть одноэлементный SocketIO класс, который продолжает получать информацию на заднем плане. в то же время у меня много мероприятий, которые делают разные вещи.

Теперь, что мне делать, когда класс SocketIO получил сингл, мне нужно прервать текущую активность и открыть диалоговое окно предупреждения, чтобы отобразить диалоговое окно предупреждения. И когда пользователь нажимает кнопку «Да», он переходит к определенной активности, чтобы сделать это.

Теперь я поместил клиент socketIO в одноэлементный класс и написал получателю в каждом мероприятии уведомление получателя из класса socketIO. Но проблема в том, что у меня много действий, которые делают разные вещи, а получатель в каждом действии на самом деле тот же. это своего рода трата ресурсов и неэффективна. Есть ли более эффективный способ вызова текущей текущей работы переднего плана из неактивного класса задней части?

класс Singleton SocketIO и приемник в каждой деятельности, как в этом link

ответ

0

Используйте SharedPreferences в ваших одиночек.

Это, как вы используете его

SharedPreferences sharedpreferences; 
Editor editor = sharedpreferences.edit(); 
editor.putString("NAMETOCALL", "valuetostoreforlateruse"); 
editor.commit(); 

И это, как вы к нему доступ для уведомления

SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(this); 
sharedpreferences.getString("NAMETOCALL", null); 
+0

Майк: Извините ~ Я не уверен, я понимаю ваш код, может быть, я Ждут» Я выражаю ясность. ваш код, похоже, получает значение в одном классе от других действий, не так ли? Что я, что всплывающее окно, отображает информацию из класса singleton независимо от того, какую деятельность я сейчас нахожу. Должен ли я писать приемник при каждом действии? – Solorchid

+0

Мой код делает это. Сохраните это значение и вызовите его в каждом классе, который вы хотите отобразить. – Mike

+0

спасибо Майк, но я надеюсь, что есть лучший способ сделать это, я не хочу называть его в каждом мероприятии .... Надеюсь, что какой-то класс может позволить мне указать только код в классе сервиса, и я не хочу должны называть это в каждой деятельности ....... Я в настоящее время использую аналогичный путь. – Solorchid

Смежные вопросы