Android - 使用intent uri从命令行启动活动

时间:2014-01-10 00:39:27

标签: android android-intent adb intentfilter url-scheme

我有一个带有以下意图过滤器的活动A

    <activity
        android:name="com.comp.pac.ActivityA">
        <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="customapp"
                  android:host="show"
                  android:path="/"/>
        </intent-filter>
    </activity>

我基本上在意图过滤器中尝试自定义数据方案,如here

所述

测试IntentUri是否启动活动我试图通过终端使用以下命令激活意图:

adb shell am start intent://show/#Intent;scheme=customapp;package=com.comp.pac;end

我收到以下错误:

Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=intent://show/ flg=0x10000000 }

问题:该命令有什么问题吗?如果没有,测试意图uri是否开始活动的最简单方法是什么?

使用adb命令使用intent uri启动活动的说明可用here

3 个答案:

答案 0 :(得分:9)

您需要使用""

adb shell 'am start "intent:#Intent;scheme=customapp;package=com.comp.pac;end"'

答案 1 :(得分:3)

从shell运行Activity的另一种方法:

adb shell am start com.example.hello/.MainActivity

请注意package名称后面的“/”和“。”在Activity名称之前。

答案 2 :(得分:0)

打开活动的另一种方式:

$ adb shell am start -W -a android.intent.action.VIEW -d“example:// gizmos”com.example.android