2017-07-09 26 views
0

私のアプリの目標は、Androidシステム全体に画面を維持することです。これまではこれまでにFULL_WAKE_LOCKを使用していたため、システム全体の画面の調光をブロックすることができました。しかし、APIレベル17以降、それは非推奨ました:Androidシステム全体でFLAG_KEEP_SCREEN_ONを使用する

をこの定数は、それが 正しくによって管理されるように、17ほとんどのアプリケーションでは 、ウェイクロックのこのタイプの代わりにFLAG_KEEP_SCREEN_ONを使用するべきAPIレベルで廃止されましたユーザが アプリケーションの間を移動する際のプラットフォームであり、特別な許可を必要としません。

Official documentation recommendsFLAG_KEEP_SCREEN_ONを使用して、しかし、特定のActivityのためにそれを使用することが可能です。

私はまだFULL_WAKE_LOCKになりますが、MediaPad Huawei x2、Redmi Note 3などのデバイスでは動作しません。現在、PowerManagerを使用しています。 on GitHubAPI level 17の後にこのタスクを達成するための良い方法はありますか?

答えて

0

API 23およびその新しいDozeモードから始まるウェイクロックは無視され、システムがスリープ状態に入ることを妨げません。

ウェイクロックと並行してフォアグラウンドサービスを維持することを実験する必要があります。理論的には、デバイスがスリープ状態にならないようにする必要があります。

:フォアグラウンドサービスが

+0

startForegroundを呼び出し、非dismissable通知を表示するために持っている私は 'Doze'モードの意識だとバックグラウンドサービスを維持することは、私が現在やっている実際には、残念ながら、このいくつかのデバイスでは動作しません。私の実装をここで確認することができます:https://github.com/yyunikov/android-dim-block/blob/master/src/main/java/com/yyunikov/dimblock/service/DimBlockService.java#L31 –

+0

私はNotificactionクラスはbuilder.setOngoing(true)を呼び出す必要があります。 ... おもう。 –

関連する問題