我在清单文件中为我的一个活动定义了一个intent过滤器。 当我尝试从adb shell启动此活动时,使用以下命令:
$ adb shell am start
-W -a android.intent.action.VIEW
-d "example://gizmos" com.example.android
我收到以下错误:
开始:意图{act = android.intent.action.VIEW dat = http://www.example.com/gizmos pkg = com.example.android}
错误:活动未启动,无法解析Intent {act = android.intent.action.VIEW dat = http://www.example.com/gizmos flg = 0x10000000 pkg = com.example.android}
请帮忙。
这是清单条目:
<activity
android:name="com.example.android.activity.ExampleActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait" >
<intent-filter android:label="Search" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data
android:host="gizmos"
android:scheme="example" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data
android:host="www.example.com"
android:pathPrefix="gizmos"
android:scheme="http" />
</intent-filter>
</activity>
答案 0 :(得分:6)
编辑AndroidManifest.xml,如下所示:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data
android:host="gizmos"
android:scheme="example" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data
android:host="www.example.com"
android:pathPrefix="gizmos"
android:scheme="http" />
</intent-filter>