Я разрабатываю приложение для Android, которое использует push-уведомления для получения уведомлений, даже если приложение закрыто и сохраняет их с помощью sharedpreferences, я создал класс широковещательного приемника и инициализировал объект sharedpreferences, который был определен в другом классе под названием Register in onReceive() следующим образом:Как инициализировать объект SharedPreferences в BroadcastReceiver?
@Override
public void onReceive(Context context, Intent intent) {
// Register.preferences = context.getSharedPreferences(arg0, arg1);
// Register.listPreferences = context.getSharedPreferences(arg0, arg1);
Register.notificationList = new ArrayList<NotificationBody>();
Register.preferences = PreferenceManager
.getDefaultSharedPreferences(context);
Register.listPreferences= PreferenceManager
.getDefaultSharedPreferences(context);
String action = intent.getAction();
int getSize = Register.preferences.getInt("listSize", 0);
Editor edit = Register.listPreferences.edit();
уведомления работать, когда приложение уже открыто, но при закрытии приложения, и я пытаюсь отправить уведомление, приложение показать Force Закрыть сообщение, и я увидел NullPointerException в LogCat, я предположим, что проблема возникает из инициализации объекта sharedpreferences, так есть ли другой способ правильно инициализировать этот объект в широковещательном приемнике?
Что такое реестр? –
это еще один класс, расширенный от деятельности –
, зачем это нужно здесь? –