我正在尝试,指定我自己的动作以用于隐式意图。在单个包中,我定义了两个活动。 ActivityTwo将从ActivityOne中的onClick()调用,使用带有操作“course.labs.activitylab.MY_ACTION”的隐式intent。但我无法使其发挥作用。
在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:找不到处理Intent的活动{act = course.labs.activitylab.MY_ACTION flg = 0x8}
我做错了什么?
答案 0 :(得分:2)
将默认类别添加到您的意图过滤器。
<intent-filter>
<action android:name="course.labs.activitylab.MY_ACTION" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>