如何获取app版本号,通过js

通过js获取app版本号

阅读 14.1k
6 个回答

网页中通过 navigator.userAgent 获取,比如微信:

Mozilla/5.0 (Linux; Android 6.0.1; MX4 Build/MOB30M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036849 Safari/537.36 MicroMessenger/6.3.27.880 NetType/WIFI Language/zh_CN

如果是安卓,可以通过自定义 user-agent 来定义,前台直接判断就可以了。

package com.abc.xxx;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    //ActionBar actionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebView webView = (WebView) findViewById(R.id.webView);

        //修改User-Agent, myApp 0.1版本
        WebSettings webConf = webView.getSettings();
        webConf.setUserAgentString(webConf.getUserAgentString() + " myApp/0.1");

        //不使用浏览器打开
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                //页面加载完毕
                super.onPageFinished(view, url);
            }
        });
        webView.getSettings().setJavaScriptEnabled(true);

        //加载你的web页面
        webView.loadUrl("http://xxx.abc.com/");
    }

}

APP端写一个jsBridge,给你调用,把版本号传过来。

并不能直接获取

取决于后台,后台传到前端

  1. 调后台接口获取

  2. 客户端把获取方法挂载到webview上

前端通过后台的接口获取;在客户端写获取的方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题