【发布时间】:2013-01-23 03:14:46
【问题描述】:
我的 AndroidManifest 中有以下内容:
<activity android:name="IntentChild"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.intent.cursor.item/intent_example"
android:host="example.intent"
android:path="intent_example"
android:scheme="content"
/>
</intent-filter>
</activity>
我使用
启动活动Uri uri = new Uri.Builder().scheme("content").authority("example.intent").appendPath("intent_example").build();
Intent intent = new Intent(Intent.ACTION_EDIT, uri);
IntentExample.this.startActivity(intent);
但我明白了:
E/AndroidRuntime(865): android.content.ActivityNotFoundException: 没有找到处理 Intent { act=android.intent.action.EDIT dat=content://
example.intent/intent_example }
我做错了什么?另外,Uri.Builder.authority() 是否与清单中 <data> 标记的 android:host 属性相同?
【问题讨论】:
-
看来我必须使用
intent.setDataAndType(uri, "vnd.intent.cursor.item/intent_example");并取出android:host属性才能启动活动。不知道为什么host不起作用。 -
@A--C 谢谢。我会试试看。随时发布实际答案。
标签: android android-intent android-activity