【问题标题】:Google Maps Android API V2 Check if Google Maps app is disabledGoogle Maps Android API V2 检查 Google Maps 应用程序是否被禁用
【发布时间】:2017-01-14 17:13:40
【问题描述】:

这个question 谈到检查设备上是否安装了谷歌地图并且答案工作正常。在较新版本的 Android 中,我们只能禁用谷歌地图应用程序而不是卸载它,因此上述答案对我来说并不完全有效。

当我在安装了 Google Play 服务 9.2.x 的手机中测试我的应用程序时,当 Google 地图应用程序被禁用时它无法工作,这很奇怪,因为它在具有 Google Play 服务 >= 9.4 的设备上运行良好。 x.

有没有办法检查谷歌地图应用程序是否被禁用? (请注意,应用程序仍然安装,只是被禁用。)

【问题讨论】:

    标签: android google-maps google-play-services google-maps-android-api-2


    【解决方案1】:

    您可以通过使用包名来检查这一点,如下所示

    String packageName = "com.google.android.gms.maps";
    int flag = 0;
    ApplicationInfo appInfo = getActivity().getPackageManager().getApplicationInfo(packageName,flag);
    boolean isAppDisabled = appInfo.enabled;
    

    阅读here 了解更多详情。您还可以根据文档链接中的要求设置不同的标志常量。

    【讨论】:

    • @RioMarieA.Callos 请接受这个作为答案。
    • 谢谢。很高兴我能提供帮助。
    • @GauravSarma big 10x 我只需要将包更改为com.google.android.apps.maps,因为...gms.maps 会抛出错误
    • @JockyDoe 很高兴我能帮上忙 :)
    【解决方案2】:

    试试这个,例如,要显示旧金山的地图,可以使用以下代码:

    Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
    Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
    mapIntent.setPackage("com.google.android.apps.maps");
    

    现在是重要的部分:

    if (mapIntent.resolveActivity(getPackageManager()) != null) {
    startActivity(mapIntent);
    }
    

    如您所见,如果不为空,则启动该活动。当然,您可以在 ELSE 语句中包含一条消息,让用户宣布他/她的设备上没有安装 Google 地图。

    【讨论】:

      【解决方案3】:

      连接@GauravSarma 的非工作解决方案和@CristianBabarusi 的字符串我也得到了非工作解决方案。它在没有 Google Play 服务的 API 19 模拟器上返回 true。

      private fun isMapsAvailable() : Boolean {
          val packageName = "com.google.android.apps.maps"
          val flag = 0
          return try {
              val appInfo = activity?.packageManager?.getApplicationInfo(packageName, flag)
              appInfo?.enabled == true
          } catch (e: PackageManager.NameNotFoundException) {
              false
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2013-10-03
        • 1970-01-01
        • 2014-01-12
        • 2013-03-24
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-26
        相关资源
        最近更新 更多