从Web视图中获取versionName


get versionName from within a webview

我有一个网络视图,在其中一个页面上有一个"关于应用程序"页面,显示当前版本的应用程序版本。然而,我担心如果我必须在未来的某个时候更改应用程序,版本会变得不一致,因为我必须在php网页中单独更新它。

有没有一些代码可以用来获取android:versionName作为变量并输出变量(最好是php,但我愿意使用其他方法)。

我希望我能使用一个简单的变量,比如if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.klingondragon.fakeappname") {,我用它来检查浏览器是否正在使用,或者它是否来自应用程序。

添加一个返回版本名称的JavascriptInterface。

webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new VersionJSInterface(), "version");
public static class VersionJSInterface {
  @JavascriptInterface
  public String getVersionName(){
    return BuildConfig.VERSION_NAME;
  }
}

然后,在您的网络视图的内容中,您可以访问一个名为version的对象。

<script>
  var versionName = version.getVersionName()
</script>

也许您可以使用以下代码获得包:

String versionName = this.getPackageManager().getPackageInfo(
                pkName, 0).versionName;