2

私のAndroidアプリでこれを行う場合:

Intent intent2 = new Intent();
          intent2.setAction(Intent.ACTION_MAIN);
          intent2.addCategory(Intent.CATEGORY_LAUNCHER);
          intent2.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
          intent2.setClassName("com.andrew.apollo", "com.andrew.apollo.activities.MusicLibrary"); 

          getApplicationContext().startActivity(intent2);

その後、Android は実際に新しいアプリを実行しますが、古いアプリをキューに残しておきたいので、[戻る] ボタンをタップすると古いアプリに移動します。 'ホームボタン。

何かご意見は?ありがとう。

EDIT : 実は、コードに書いたのを覚えていなかったのは finish() でした。削除したところ、期待どおりに動作するようになりました。皆さんに感謝します。

4

2 に答える 2

2

私にとっては同じコードが正常に機能しています。finish(); を呼び出す必要があります。インテントを起動した後。

于 2013-02-07T10:25:04.737 に答える
1

デフォルトでは、現在のアクティビティから新しいアプリケーションまたはアクティビティを起動し、現在のアクティビティのfinish()メソッドを呼び出さない場合、Android OS が必死にメモリ不足になるまでスタックに残ります。

メモリの少ないデバイスで破壊される可能性があります(あなたの場合は推測します)。そうしないと、「停止」状態になり、「戻る」ボタンをタップすると自動的に再起動します。

于 2013-02-07T10:24:28.120 に答える