Я программирую мобильное приложение с помощью Cordova. Я использую push-уведомления с помощью Push Plugin. Приложение предназначено для работы на всех платформах, но сейчас я тестирую Android и Windows.Кордова - извлечение локального хранилища из java-файлов Push Plugin
В частности файла JavaScript Я спасаю значение называет это «категорию» в LocalStorage:
localStorage.setItem("category", JSON.stringify(categoryarray));
Теперь при отправке толчок уведомления, категория необходимо решить, следует ли показывать уведомление или нет , Если пользователь подписался на эту конкретную категорию, тогда уведомление должно быть показано, в противном случае - нет. Для этого я просто создаю условие и проверяю, подписался ли пользователь на категорию, включенную в уведомление (но это не имеет отношения к точке вопроса). Когда приложение запускается, это условие можно обрабатывать в javascript. Когда приложение не работает, это обрабатывается в Java коде:
else {
extras.putBoolean("foreground", false);
// Send a notification if there is a message
if (extras.getString("message") != null && extras.getString("message").length() != 0) {
createNotification(context, extras);
}
}
Теперь я хочу, чтобы получить значение из локального хранилища в этом случае, что уведомление выталкивается, когда приложение не работает (и быть возможность проверить, следует ли показывать уведомление или нет).
Я пришел в эту ссылку: Android Service reads localStorage?
Но это, кажется, предназначено для Android машинного кода (ссылка на WebView). Кроме того, я не совсем понял, как это работает, и, кроме того, если оно применимо для моей проблемы.
Что вы предлагаете? Как мне это сделать?
Редактировать: Я изначально не понял, что Java-код Push-плагина не будет скомпилирован с помощью приложения Cordova. Поэтому редактирование кода, которое можно извлечь из каталога Cordova, на самом деле бесполезно. Если кто-то еще ничего не может предложить, я знаю, что это вопрос без ответа. Придется повторить попытку создания API для этой цели и обработать, кто получит это уведомление со стороны сервера! (Причина, по которой я прибегал к этому методу, заключалась в том, что мне не удалось создать API для целей уведомления)