【发布时间】:2015-10-27 08:00:11
【问题描述】:
我正在使用 Cordova 编写移动应用程序。我正在使用 Push Plugin 实现推送通知。该应用程序旨在在所有平台上运行,但现在我正在 Android 和 Windows 上进行测试。
在一个特定的 javascript 文件中,我在本地存储中保存了一个名为“类别”的值:
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)。除此之外,我还没有真正理解它是如何工作的,以及它是否适用于我的问题。
你有什么建议?我该怎么做?
编辑:我最初并没有意识到 Push 插件 java 代码不会与 Cordova 应用程序一起编译。因此,编辑可从 Cordova 目录检索的代码实际上是没有用的。除非有人仍然可以提出建议,否则我知道这是一个无法回答的问题。将不得不为此重新尝试创建一个 API 并处理谁在服务器端接收哪个通知! (我采用这种方法的原因是因为我没有设法创建用于通知目的的 API)
【问题讨论】:
标签: java android cordova local-storage phonegap-pushplugin