0

にアクティビティが登録されていAPPWIDGET_CONFIGUREます:

    <activity android:name="com.tahanot.activities.NearbyStops">
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
        </intent-filter>
    </activity>

ただし、このアクティビティは期待どおりに動作しません。既存のスタック内で開き、[戻る] ボタンを押すと、タスクを閉じる代わりに他のアクティビティに移動します。APPWIDGET_CONFIGURE理想的には、インテントにFLAG_ACTIVITY_NEW_TASKandを含めたいと思いFLAG_ACTIVITY_MULTIPLE_TASKます。

でフラグを指定することは可能AndroidManifest.xmlですか?そうでない場合、どのような回避策を提案しますか?

4

3 に答える 3

1

activity 要素に launchMode 属性を指定することを検討してください。

<activity android:launchMode="singleTask" android:name="com.tahanot.activities.NearbyStops">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
    </intent-filter>
</activity>

公式ドキュメントによると、

FLAG_ACTIVITY_NEW_TASK

新しいタスクでアクティビティを開始します。開始しようとしているアクティビティに対してタスクがすでに実行されている場合、そのタスクはフォアグラウンドに移動し、最後の状態が復元され、アクティビティは onNewIntent() で新しいインテントを受け取ります。

これにより、前のセクションで説明した「singleTask」 launchMode 値と同じ動作が生成されます。

動作が必要だと述べてFLAG_ACTIVITY_NEW_TASKいるので、singleTask launchMode が機能する可能性があります。

于 2013-04-17T13:18:34.450 に答える
0

アクティビティを開始するときは、この Java コードを使用してください

Intent intent = new Intent(this,
        activityname.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

ここで、このようにインテント オブジェクトにフラグを追加できます。

複数のフラグを追加することもできます。

于 2013-04-10T06:29:36.063 に答える