美好的一天,我为Cordova制作原生背景mod,我需要从js到java获取数据.我用插件cordova-plugin-nativestorage在js中保存数据,代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Save data</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
NativeStorage.setItem("somekey", "value", null, null);
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但我的问题是:我不知道如何在没有Cordova活动的后台服务中使用java获取此数据("值").
Backgroud服务java:
package cz.oznameni;
public class Backgroundoznameni extends Service {
}
Run Code Online (Sandbox Code Playgroud) Ionic 2有一个适用于iOS和Android的Native Storage组件:https: //ionicframework.com/docs/v2/native/nativestorage/
在repo的自述文件(https://github.com/TheCocoaProject/cordova-plugin-nativestorage)中说有浏览器环境支持(它使用浏览器的LocalStorage).
我尝试使用它,但是当我在浏览器中运行Ionic(离子服务器)时,浏览器输出如下内容:
main.js:224 Native:尝试调用NativeStorage.setItem,但Cordova不可用.确保包含cordova.js或在设备/模拟器中运行
在浏览器环境中,不会注入cordova.只要cordova.js仅用于与设备的API集成,这就会产生意义.
任何人都知道是否可以在浏览器中使用此插件?
cordova ionic-framework cordova-plugins ionic2 cordova-nativestorage
我看到 Ionic 2 上有一个 Native Storage,但我没有看到 Ionic 1 的 Native Storage,我不确定是我错过了它,还是它不存在。
我知道 Sql lite 和其他类似的解决方案,但如果我们不需要它,我希望避免将其添加到我们的应用程序中,因为我们最终将转向 Ionic 2,但我们有对持久存储的迫切需求。