3

思い通りに動作しないミュージック プレーヤー アクティビティがあります。このアクティビティは、アプリ内、通知バー、およびバックグラウンドからアプリを切り替え/再開するときに開くことができます。

アプリから起動した場合 -> backPress on activity -> 前のアプリ活動に戻ります。わかった

通知から起動した場合→戻るアクティビティを押す→ホーム画面に戻る(そのままでOK)

When resumed from homeScreen/recent apps -> backPress on activity -> returns to home screen (not OK)- このアクティビティはリーフであり、タブ アクティビティはルート アクティビティであるため、ユーザーはアプリに戻ると想定します。

ホーム画面に移動せずに、戻るを押したときに親アクティビティに戻りたい(通知から再開された場合、ホーム画面に戻る場合は問題ありませんが、このシナリオでは両方のバリアントが問題ありません)

<activity android:name=".player.PlayerActivity"
                    android:configChanges="keyboardHidden|orientation"
                    android:label="@string/audio_player_activity_title"
                    android:launchMode="singleInstance"/>

そしてアクティビティを開始します:

//this intent is started from a fragment (SherlockFragment)
Intent i = new Intent(getActivity(), PlayerActivity.class);
startActivity(i);

注: 画面上で実行されている同じタイプの 2 つのアクティビティを回避するために、単一のインスタンスが必要です (通知の使用時に発生します)。

誰かがこれで私を助けてくれますか?

4

1 に答える 1

2

launchMode: "singleInstance" を使用すると、アクティビティは新しいタスクで開始されます: [http://developer.android.com/guide/topics/manifest/activity-element.html][1]バックスタックの通常の動作を確認してください。アクティビティを起動すると、フラグを設定できます: FLAG_ACTIVITY_REORDER_TO_FRONT

intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
于 2013-07-31T15:04:33.547 に答える