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

Flutter如何操作安卓已安装应用及跳转谷歌地图携带指定地址

问题1:如何使用Flutter实现对安卓系统中已安装应用的操作?

实现安卓已安装应用的查询、启动等操作可通过device_apps插件完成,操作步骤如下:

  • 首先在项目pubspec.yaml的dependencies节点下添加依赖:
    dependencies:
      flutter:
        sdk: flutter
      device_apps: ^2.2.0
    
    保存后执行flutter pub get完成依赖安装。
  • 常用操作代码示例:
    • 查询所有已安装应用:
      List<Application> apps = await DeviceApps.getInstalledApplications(
        includeAppIcons: true, // 配置是否返回应用图标
        includeSystemApps: true, // 配置是否返回系统应用
      );
      
      返回的Application对象包含应用名、包名、安装时间、版本号等信息。
    • 判断指定应用是否安装:
      // 以谷歌地图包名为例
      bool isMapInstalled = await DeviceApps.isAppInstalled('com.google.android.apps.maps');
      
    • 启动指定应用:
      await DeviceApps.openApp('com.google.android.apps.maps');
      
  • 注意事项:安卓11及以上系统对应用可见性做了限制,若仅需查询特定应用,可在android/app/src/main/AndroidManifest.xml的manifest节点下添加声明对应包名;若需要全量查询所有已安装应用,需申请QUERY_ALL_PACKAGES权限
问题2:已持有指定地址信息,如何在Flutter中创建可点击跳转链接,用户点击后可直接跳转至谷歌地图并加载对应地址?

该需求可通过url_launcher插件调用系统能力跳转谷歌地图实现,操作步骤如下:

  • 在项目pubspec.yaml的dependencies节点下添加依赖:
    dependencies:
      flutter:
        sdk: flutter
      url_launcher: ^6.2.0
    
    保存后执行flutter pub get完成依赖安装。
  • 构造谷歌地图跳转Uri并调用跳转逻辑,可直接封装为函数使用:
    import 'package:url_launcher/url_launcher.dart';
    
    Future<void> openAddressInGoogleMap(String targetAddress) async {
      // 对地址进行编码避免特殊字符导致Uri解析失败
      final encodedAddress = Uri.encodeComponent(targetAddress);
      // 安卓平台谷歌地图跳转协议
      final Uri mapUri = Uri.parse('geo:0,0?q=$encodedAddress');
      if (await canLaunchUrl(mapUri)) {
        await launchUrl(mapUri);
      } else {
        // 此处可自定义未安装谷歌地图的兜底逻辑,比如提示用户安装、跳转网页版地图等
      }
    }
    
  • 前端可直接用GestureDetector或者InkWell包裹文本,点击时调用上述函数即可实现可点击跳转效果。
  • 注意事项:安卓11及以上系统需要在AndroidManifest.xml的manifest节点下添加如下声明,否则无法检测到跳转能力:
    <queries>
      <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="geo" />
      </intent>
    </queries>
    

内容的提问来源于stack exchange,提问作者Nimish Khattar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:09:04