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

Android应用点击按钮调用谷歌地图叫车,能否设置Go-Jek及车型为默认?

关于Android中唤起Go-Jek默认叫车及指定车型的解决方案

嘿,我来帮你梳理下这个问题的可行方案:

一、能不能把Go-Jek设为默认叫车服务?

你当前用的是谷歌地图的Intent链接,这种方式是打开谷歌地图自身的叫车界面,没法直接强制指定Go-Jek作为默认服务(谷歌地图会列出当地可用的叫车服务商,用户得手动选择)。

如果想直接唤起Go-Jek的叫车功能,最优方案是使用Go-Jek官方提供的Deep Link或显式Intent,这样可以跳过谷歌地图,直接打开Go-Jek应用进入叫车流程。

二、能不能默认指定轿车或摩托车车型?

可以的!Go-Jek的Deep Link支持传入车型参数,直接指定要唤起的服务类型。不过不同地区的车型参数可能略有差异,下面是常见的参数值和代码示例:

完整代码示例

首先,先检查设备上是否安装了Go-Jek应用:

private boolean isGoJekAppInstalled() {
    PackageManager packageManager = getPackageManager();
    try {
        // Go-Jek的官方包名是com.gojek.app
        packageManager.getPackageInfo("com.gojek.app", PackageManager.GET_ACTIVITIES);
        return true;
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}

然后,构造唤起Go-Jek并指定车型的Intent:

if (isGoJekAppInstalled()) {
    // 构造Deep Link参数:dlat/dlng是目的地坐标,service指定车型
    // 摩托车车型参数:gojek:bike
    // 轿车车型参数:gojek:go-car
    String goJekDeepLink = "gojek://pickup?dlat=" + mLocation.latitude + "&dlng=" + mLocation.longitude + "&service=gojek:bike";
    
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(goJekDeepLink));
    // 显式指定包名,确保只会唤起Go-Jek应用,不会弹出选择框
    intent.setPackage("com.gojek.app");
    startActivity(intent);
} else {
    // 如果未安装Go-Jek,提示用户下载或 fallback 到原有的谷歌地图方案
    Toast.makeText(this, "请先安装Go-Jek应用哦", Toast.LENGTH_SHORT).show();
}

参数说明

  • service=gojek:bike:唤起摩托车叫车服务
  • service=gojek:go-car:唤起普通轿车叫车服务
    如果需要其他车型(比如商务车),可以根据当地Go-Jek的服务调整参数值。

补充说明

如果你还是想保留通过谷歌地图唤起叫车的方式,那目前没办法默认指定Go-Jek,用户需要在谷歌地图的叫车列表里手动选择Go-Jek服务,也没法直接指定车型——这种情况下,直接唤起Go-Jek应用的体验会更符合你的需求。

内容的提问来源于stack exchange,提问作者Ronny Sulistio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:05:55