为什么我的活动没有启动?

时间:2011-11-21 08:44:54

标签: android android-intent

我使用隐式方式启动Activity。但是当它运行时,LogCat会显示can not find the Activity

这是我的<intent-filter>声明:

    <activity android:name=".GroupEditActivity">
        <intent-filter>
            <action android:name="android.intent.action.EDIT"></action>
            <data mimeType="vnd.android.cursor.item/group"></data>
            <category android:name="android.intent.category.DEFAULT"></category>
        </intent-filter>
    </activity>

以下是启动Activity的代码:

Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType(Groups.CONTENT_ITEM_TYPE);
startActivity(intent);

参考说如果我将类型和操作设置为与Intent-filter相同,那么我的Activity可以启动。但是当我只在Intent中设置操作时,它仍然可以启动Activity Intent-filter包含mimetype。所以我完全迷失了。

here是我在官方网站上找到的:
感谢

logcat详细信息:

android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.intent.action.EDITtyp = vnd.android.cursor.item / group}

我可以肯定java和xml中的类型和操作是相同的。

我自己解决了这个问题。该错误是由<data mimeType引起的。我忘了在这里添加android。因此,如果更改为<data android:mimeType,那么一切正常。但为什么之前没有报告异常,mimeType也合法吗?

1 个答案:

答案 0 :(得分:1)

您是否正在启动与主要活动分开的活动?在这种情况下,您需要调用该活动的名称。如果您尝试启动主要活动,则无需调用意图。

Intent intent = new Intent(this, MyOtherActivity.class); 
startActivity(intent);