0

MainActivity として DashBoard を持つ Android でドキュメント エディターを開発しています。編集用の別のアクティビティであるエディターを開きます。次のようなエントリを入れることで、SDカードのドキュメントを開くこともできます

<data
    android:host="*"
    android:mimeType="*/*"
    android:pathPattern=".*\\.doc"
    android:scheme="file" />

問題は、最初にダッシュボードを開いてから、デバイスのホームボタンを押して、アクティビティを一時停止状態にすることです。sdcard に移動してドキュメントを開き、別の DashBoardActivy を作成してファイルをインポートします。2 つのインスタンスを作成しないようにするにはどうすればよいですか?

4

2 に答える 2

0

先ほど言及したケースは、マニフェスト ファイルでlaunchMode=singleTopとしてマークすれば回避できます が、これは、以前のインスタンスをバック スタックに保持する「ホーム ボタンを押したように」 と言及した場合に発生するため、今回はアクティビティを開始しようとすると、前のインスタンス( backstack の一番上にある)が使用されます。

スタック: INSTANCE1 アクション実行: ホームボタンを押す

スタックは同じ スタックのままです: INSTANCE1

actionperformed : 新しいドキュメント スタックのアクティビティを再度起動しようとしました: INSTANCE1 (onNewIntent() によって再度アクティブ化されます)

したがって、INSTANCE1 が一番上にあるため、シングルトップとしてマークされているため、新しいインスタンスは起動されません

詳細 については、これらのフラグの Android ドキュメントを参照してください

それが役に立てば幸い

于 2013-09-21T12:09:10.137 に答える