1

暗黙のインテントで使用する独自のアクションを指定して実験しています。1 つのパッケージで、2 つのアクティビティを定義します。ActivityTwo は、アクション "course.labs.activitylab.MY_ACTION" で暗黙のインテントを使用して、ActivityOne の onClick() から呼び出されます。しかし、私はそれを機能させることができませんでした。

string.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 に答える