You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Intent调用地图应用失败:点击提交无响应求助

解决Intent跳转地图应用无响应的问题

针对你遇到的点击提交后无法打开地图应用的情况,给你几个排查和解决方向:

  • 检查Android 11+的包可见性限制
    从Android 11(API 30)开始,系统默认限制了应用对其他应用的可见性,你的resolveActivity(getPackageManager())可能返回null,导致代码跳过了startActivity。解决方法是在AndroidManifest.xml中添加<queries>标签,声明你要跳转的地图应用包名:

    <manifest ...>
        <queries>
            <!-- 谷歌地图 -->
            <package android:name="com.google.android.apps.maps" />
            <!-- 百度地图 -->
            <package android:name="com.baidu.BaiduMap" />
            <!-- 高德地图 -->
            <package android:name="com.autonavi.minimap" />
        </queries>
        ...
    </manifest>
    
  • 临时移除resolveActivity判断测试
    先把判断逻辑注释掉,直接调用startActivity,看是否能弹出选择地图应用的弹窗,或者有没有报错:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("geo:47.6,-122.3"));
    // 注释掉判断先测试
    // if(intent.resolveActivity(getPackageManager())!=null)
    // {
        startActivity(intent);
    // }
    

    如果这样能打开,就说明是包可见性的问题,按上面的方法添加queries即可。

  • 验证geo URI格式
    可以尝试带缩放级别的URI格式,兼容性更好:

    intent.setData(Uri.parse("geo:47.6,-122.3?z=15")); // z是缩放级别,范围1-23
    
  • 确认设备安装了地图应用
    确保你的测试设备或模拟器上已经安装了至少一款支持geo URI的地图应用(比如谷歌地图、高德地图等),没有的话系统找不到可处理该Intent的应用,自然无响应。

内容的提问来源于stack exchange,提问作者ADITYA KUMAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:03:01