2017-08-15 12 views
0

特定の時間帯のような特定のシステムイベントを検出するサービスがあります。私は、ユーザーの画面を暗くするために(条件が満たされたときに)私のサービスを望みます。サービスからのAndroid - 調光画面

これまでのところ、インターネットとStackOverflowを見てみると、私はgetWindow()に依存したソリューションをたくさん見つけました。これは、これを実現するために私のアプリが実行中のフォアグラウンドアクティビティを持っている必要があることを意味します。

システム全体の画面の明るさを30%にするサービスがあれば、何をする必要がありますか?私はそれが "ローカル"の明るさを変えることと非常に似ているとは思っていません。

私の考えは、現在のフォアグラウンドアプリの「ウィンドウ」を取得しましたが、それも可能だ場合、私は非常によく分からない:

\誰かが私にいくつかのヒントやヘルプをしてください与えることができ、すべての私の検索は、 "で終了しました自分のアプリケーションの "getWindow()"を呼び出す必要がありますか?

+0

事前API権限が必要ですhttps://developer.android .com/reference/android/provider/Settings.System.html#SCREEN_BRIGHTNESS)。もしそうなら、原則として、あなたは 'WRITE_SYSTEM_SETTINGS'パーミッションを保持しているものを変更することができます。しかし、それは取得するのは簡単な許可ではなく、ユーザーの通常の明るさコントロールを無効にします。 – CommonsWare

答えて

1

私はそれが

System.putInt(contentResolver, System.SCREEN_BRIGHTNESS, brightness) 

であると考えているしかし、あなたはまた、([SCREEN_BRIGHTNESS` `経由]画面全体の明るさを制御することがあります23

android.permission.WRITE_SETTINGS 
+0

実際、これはサービスから私は "getContentResolver()"を呼び出すことができます!ありがとう! – guest86

関連する問題