• Android 中如何获取 H5 保存在 LocalStorage 的数据


    主要分三步:

    1. 写个接口,接收 Js 回调
    2. 添加到 WebView
    3. 主动调用 Js 获取

    比如我要获取保存在 LocalStorage 中的 userKey 字段:

    1.写个接口,接收 Js 回调

    public class HybridInterface {
        Context context;
    
        InitCityInterface(Context context) {
            this.context = context;
        }
    
        //Js 回调方法,
        @JavascriptInterface
        public void getUserKey(String userKey){
            LogUtils.e("WebViewFragment","读取到userKey : " + userKey);
            //已经拿到值,进行相关操作
        }
    
    }
    

    2.添加到 WebView ,并且重命名为“shixintest”:

    mWebView.addJavascriptInterface(new HybridInterface(getActivity()), "shixintest");
    

    3.主动调用 Js 获取
    /**
    * 获取 H5 保存在 LocalStorage 中的 __UserKey
    */

    private void getLocalStorageUserKey() {
        if (mWebView != null && TextUtils.isEmpty(APPEnvironment.getBeforeLoginUserKey())) {
            mWebView.loadUrl(
                "javascript:(function(){
                    var localStorage = window.localStorage; window.shixintest.getUserKey(localStorage.getItem('userKey'))})()");
    }
    }
    

    getLocalStorageUserKey() 会通过 Js 读取 LocalStorage 的内容,然后通过 HybridInterface 传递过来。

    就酱紫拿到了 LocalStorage 中的内容。

  • 相关阅读:
    C# 异步锁
    C#异步编程基础入门总结
    C#异步编程基础入门总结
    C#与数据结构--图的遍历
    C#中IEumerable的简单了解
    C# prism 框架 MVVM框架 Prism系列之事件聚合器
    .NET Core 3 WPF MVVM框架 Prism系列之对话框服务
    C# prism 框架
    TaskAwaiter<TResult> 结构
    利用Eventlog Analyzer分析日志
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6147210.html
Copyright © 2020-2023  润新知