0

私のアプリには、MainActivity と ExternEntry の 2 つのアクティビティがあります。ExternEntry は、アプリを起動する方法として他のアプリから呼び出されます。次に、ExternEntry は MainActivity で startActivity を呼び出しますが、これは既に起動されている可能性があります。私の質問は、バックグラウンドで MainActivity インスタンスを再開する方法ですか?

これは、同じアプリケーション内のアクティビティの切り替えとは異なることに注意してください。ExternEntry が呼び出されるたびに、新しいスタックも作成されますか?

私は試した

        Intent i = new Intent(this, MainActivity.class);
        i.setAction(Intent.ACTION_MAIN);
        i.addCategory(Intent.CATEGORY_LAUNCHER);
        startActivity(i);

        Intent i = new Intent(this, MainActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(i);

ただし、どちらも MainActivity の新しいインスタンスを作成します。

また、MainActivity を「singleTask」に設定しようとしましたが、それもうまくいきませんでした。

4

1 に答える 1

0

Androidマニフェストファイルで起動モードを宣言する必要があると思います。

<activity
        android:name=".name"
        android:launchMode="singleTask"
        >

それがあなたを助けることを願っています。

于 2012-09-05T10:08:21.763 に答える