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

MAUI应用间导航问题:Android需配置Data Scheme解决CanOpenAsync返回false

解决MAUI Android端Data Scheme配置问题

步骤1:配置AndroidManifest.xml

打开MAUI项目下的Platforms/Android/AndroidManifest.xml,找到主Activity对应的<activity>标签(通常是MainActivity),添加intent-filter来注册自定义Scheme:

<activity android:name=".MainActivity" ...>
    <!-- 保留原有配置内容 -->
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- 注册目标Scheme -->
        <data android:scheme="app2" />
        <!-- 匹配你要跳转的Host -->
        <data android:host="com.companyname.app2" />
    </intent-filter>
</activity>

步骤2:调整代码逻辑

将验证和跳转的Uri统一为带Host的格式,和配置保持一致:

private async void GoApp2Clicked(object sender, EventArgs e)
{
    string targetUri = "app2://com.companyname.app2";
    bool supportsUri = await Launcher.Default.CanOpenAsync(targetUri);

    if (supportsUri)
        await Launcher.Default.OpenAsync(targetUri);
}

关键注意点

  • 确保目标应用(App2)也已配置相同的Scheme和Host,且已安装在测试设备/模拟器上
  • 修改AndroidManifest.xml后需要重新部署Android项目
  • 模拟器测试时,两个应用必须部署到同一台模拟器中

内容的提问来源于stack exchange,提问作者Arun VB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:22:03