【问题标题】:Phonegap: How to detect android application is running in development modePhonegap:如何检测android应用程序在开发模式下运行
【发布时间】:2014-09-17 05:13:22
【问题描述】:

我需要区分我的 Phonegap Android 应用是否正在运行

A) 在模拟器或手机中通过 USB 调试模式

B) 通常在手机中

有可能吗?你知道什么诀窍吗?我需要这个用于开发和生产之间的自动配置切换......谢谢。

【问题讨论】:

    标签: android cordova configuration


    【解决方案1】:

    是的,一些平台允许在运行时进行包自省。

    在 Android 上,本机库是链接到文档的 PackageManager。无论您是否可以从界面中获得所需的信息,都将(希望)记录在案

    目前没有插件或 api 可以从 phonegap javascript 环境中访问此信息。但是,这很容易实现。

    我可能愿意把这样的插件放在一起。这将是相对简单且可能有用的。或者我可以帮助您完成整个过程。

    编辑 是的,这个信息是可用的,这是一个sn-p:

    if ((ctx.getPackageManager().getPackageInfo(
        ctx.getPackageName(), 0).applicationInfo.flags & 
        ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
        //Debug and development mode
        BASE_SERVICE_URL = "http://qa.example.com";
    }
    

    我在MOBIARCH BLOG上找到了上面的代码

    【讨论】:

      【解决方案2】:

      使用Ace plugin,您可以调用任意API。所以 Lorenzo 的代码可以用你的 JavaScript 编写如下:

      var ctx = ace.android.getContext();
      ctx.invoke("getPackageManager", function (pm) {
          ctx.invoke("getPackageName", function (name) {
              pm.invoke("getPackageInfo", name, 0, function (info) {
                  info.getField("applicationInfo", function (appInfo) {
                      ace.NativeObject.getField("android.content.pm.ApplicationInfo", "FLAG_DEBUGGABLE", function(DEBUGGABLE) {
                          appInfo.getField("flags", function (flags) {
                              if (flags & DEBUGGABLE != 0) {
                                  // Debug and development mode
                                  BASE_SERVICE_URL = "http://qa.example.com";
                              }
                          });
                      });
                  });
              });
          });
      });
      

      【讨论】:

        猜你喜欢
        • 2016-12-29
        • 1970-01-01
        • 2017-01-24
        • 2015-11-26
        • 2020-11-23
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多