首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在尝试通过adb测试android深度链接urls以启动我的应用程序

我正在尝试通过adb测试android深度链接urls以启动我的应用程序
EN

Stack Overflow用户
提问于 2015-03-02 11:07:27
回答 13查看 100.1K关注 0票数 83

当我在adb中输入命令时:

代码语言:javascript
运行
复制
./adb shell am start -W -a android.intent.action.VIEW -d "example:gizmos" com.myapp

我得到了这个错误:

代码语言:javascript
运行
复制
Starting: Intent { act=android.intent.action.VIEW dat=example://gizmos pkg=com.myapp }
Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=example://gizmos flg=0x10000000 pkg=com.myapp }

但当我在adb中键入命令时:

代码语言:javascript
运行
复制
./adb shell am start -W -a android.intent.action.VIEW -d "example:gizmos" com.myapp.activity.DeepLinkActivity

一切正常,我收到消息,我可以在电话上看到活动启动:

代码语言:javascript
运行
复制
Starting: Intent { act=android.intent.action.VIEW dat=example://gizmos cmp=com.myapp.activity.DeepLinkActivity }
Status: timeout
Activity: com.myapp.activity.DrawerActivity
Complete

我的问题是,为什么我需要获取活动的完整路径,而不仅仅是包名称?因为当外部应用程序或浏览器尝试深度链接时,它们不会调用我的应用程序中的活动。

这是我的AndroidManifest.xml

代码语言:javascript
运行
复制
<activity
        android:name=".activity.DeepLinkActivity">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="example"
                  android:host="gizmos" />

        </intent-filter>
</activity>
EN

回答 13

Stack Overflow用户

发布于 2015-04-13 16:41:25

你不需要指定你的活动的完整路径,但如果你想测试你是否对中的URI 做出了正确的反应,你的应用程序只需指定应用程序包:

代码语言:javascript
运行
复制
adb shell am start -a android.intent.action.VIEW -d "example://gizmos" com.myapp

此外,您提供的命令中也有错误-应该是example://gizmos而不是example:gizmos

票数 148
EN

Stack Overflow用户

发布于 2019-11-07 13:24:47

以下是命令

代码语言:javascript
运行
复制
adb shell am start -d your-deep-link

示例

代码语言:javascript
运行
复制
adb shell am start -d rm://yoursettingpage/v1
票数 57
EN

Stack Overflow用户

发布于 2017-03-24 17:50:40

这里解释了android studio的最佳解决方案:https://code.tutsplus.com/tutorials/how-to-enable-deep-links-on-android--cms-26317

TLDR : Android Studio -->运行-->编辑配置

将启动选项中的启动更改为" URL“,并在文本字段url中输入正确的url:"something://”

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28802115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档