1

我正在试验,指定我自己的动作以用于隐含意图。在一个包中,我定义了两个活动。ActivityTwo 将从 ActivityOne 中的 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>

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

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

程序在模拟器中崩溃,我在 logcat 窗口中找到了这个:

android.content.ActivityNotFoundException:没有找到处理意图的活动 { act=course.labs.activitylab.MY_ACTION flg=0x8 }

我究竟做错了什么?

4

1 回答 1

3

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

<intent-filter>
    <action android:name="course.labs.activitylab.MY_ACTION" />
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
于 2015-05-25T16:07:15.657 回答