1

我正在开发一个移动应用程序,它应该连接到 Web 服务器。该应用程序是用 jQM 编写的,并且只需在 android web 视图中导入。问题是我想使用 jStorage 插件将特定的个人信息保存在本地存储中,然后将其发送到服务器。当我在我的计算机上测试它时,这非常有效,但是当我在带有 web 视图的设备上尝试它时,它不起作用 - 它发送 null。所以我想知道是否可以在导入的 Web 视图上使用本地存储,或者我应该寻找其他解决方案。我没有使用 cookie,因为我在使用库时遇到了问题,然后它在浏览器的本地存储中运行良好。

这是我的活动代码:

private WebView mWebView;
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      getWindow().requestFeature(Window.FEATURE_NO_TITLE);
      mWebView = new WebView(this);
      WebSettings webSettings = mWebView.getSettings();
      webSettings.setJavaScriptEnabled(true);
      webSettings.setDomStorageEnabled(true);
      webSettings.setDatabaseEnabled(true); 
      mWebView.loadUrl("file:///android_asset/accents.html");

      mWebView.setWebChromeClient(new WebChromeClient() { 
            public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) { 
                    quotaUpdater.updateQuota(5 * 1024 * 1024); 
                } 
            }); 

      this.setContentView(mWebView);
  }

这是js示例:

$.jStorage.set("access_token", data.access_token);
$.jStorage.set("refresh_token", data.refresh_token);
$.jStorage.set("logged", true);

在那之后

access_token = $.jStorage.get("access_token");
refresh_token = $.jStorage.get("refresh_token");

将两个值都设置为null

4

0 回答 0