0

私は、ユーザーが選択している限り起動し続けるアプリケーションを作成しようとしています-そして、向きが変わった場合でも起動したままになります。

最初は、ユーザーがアプリケーションを起動したままにする必要があると判断したときにウェイク ロックを作成し、onPause() でこのロックを解放して、永久に保持されないようにしました。しかし、向きが変わると、問題のアクティビティが破棄され、新しいアクティビティが作成されます。ウェイクロックを新しいインスタンスに「引き渡す」方法がわかりません。

もちろん、保存されたインスタンスの状態で保存することもできますが、アクティビティが破棄された時点では、それが向きの変更のためなのか、それとも永久に破棄されたのかはわかりません。

これを達成する一般的な方法はありますか?

4

5 に答える 5

1

Android: Wakelock & handling orientation changeにも記載されているように、onCreate() で FLAG_KEEP_SCREEN_ON フラグを使用できます。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

その 1 つのアクティビティにのみウェイクロックが必要な場合は、それで十分なので、ウェイクロックのアクセス許可も必要ありません。

于 2014-01-01T20:40:15.640 に答える
0

以外の必要がある場合は、使用可能なソリューションSCREEN_BRIGHT_WAKE_LOCK:ここで私の回答を参照してください

于 2014-06-30T10:28:30.167 に答える
0

通話できisFinishing()ますonPause()

http://developer.android.com/reference/android/app/Activity.html#isFinishing%28%29

于 2013-02-23T20:25:14.963 に答える
0

私はあなたが使用できるはずだと思います:

http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance(boolean)

... 構成の変更 (向き) と実際の終了を区別する

于 2013-02-23T21:30:37.190 に答える