具有用户指定操作的隐式意图

Implicit Intent with user-specified action

我正在试验,指定我自己的操作以用于隐式意图。在一个包中,我定义了两个活动。 Activity两个将在 Activity一个中从 onClick() 调用,使用带有操作的隐式意图 "course.labs.activitylab.MY_ACTION"。但是我没能成功。

在strings.xml中:

<string name="myfunnystring">course.labs.activitylab.MY_ACTION</string>

在AndroidManifest.xml中:

    <activity
        android:name=".ActivityTwo"
        android:label="@string/title_activity_activity_two" >
        <intent-filter>
            <action android:name="@string/myfunnystring" />
        </intent-filter>
    </activity>

在 onClick() 在 OnClickListener() 在 onCreate() 在 ActivityOne.java:

            Intent intent = new Intent();
            intent.setAction(getString(R.string.myfunnystring));
            intent.setFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION);
            startActivity(intent);

程序在模拟器中崩溃,我在logcat window:

中找到了这个

android.content.ActivityNotFoundException:未找到 Activity 来处理 Intent { act=course.labs.activitylab.MY_ACTION flg=0x8 }

我做错了什么?

将默认类别添加到您的意图过滤器。

<intent-filter>
    <action android:name="course.labs.activitylab.MY_ACTION" />
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>