2

私はAndroidの設定の制限の下で明るさを設定しようとしています。これを行うGooglePlayには2つの同様のアプリがあります。

2つ目は、アプリで必要なものだけで、黒い画面で電話を使用することもできます。

明るさについては他にもたくさんの質問がありますが、このシステム制限の下に設定しないでください。ほとんど同じことを尋ねるが助けにはならない質問が1つあります。それは、 明るさの画面フィルターです。

したがって、多くの検索の後、次のコードがあります。

int brightness=0; //0 to 255, so I set it to a low level (not enough for me)
ContentResolver cResolver = getContentResolver();  

//set the system brightness value, and if active, disable auto mode.
System.putInt(cResolver, System.SCREEN_BRIGHTNESS, brightness);  
System.putInt(cResolver, System.SCREEN_BRIGHTNESS_MODE, System.SCREEN_BRIGHTNESS_MODE_MANUAL);  

//previous lines don't set the brightness to the current screen so we set it like this: 
LayoutParams layoutpars = getWindow().getAttributes();  
layoutpars.screenBrightness = brightness / (float)255; 

//Now we have brightness to the minimum allowed by Android but
//to achieve what these apps do, I have to reduce alpha of the window to the min
//then the screen is black like I want, and totally usable!
layoutpars.alpha=0.05f;
window.setAttributes(layoutpars);

ここでアルファがキーです。これは私が望むことを実行していますが、現在のウィンドウ/画面に対してのみです。明るさとどこにでも適用するための手動モードで行っているように、このアルファをデフォルトとしてシステムに保存する必要があります。 。

私がこれをどのように行うべきか知っていますか?System.putIntまたはこれを行う別の方法で設定するための値"System.SCREEN_ALPHA"が見つかりません。

以前にリンクした別の質問で、pheelicksは、透明でタッチできないオーバースクリーンを使用することを提案しましたが、これはうまくいきません。その結果、以前のアプリのように画面がオフになっているような感覚は得られません。

ありがとう。

4

1 に答える 1

0

この機能をアプリ内にアルファ版で実装することにしました。だから最初の質問は全然解けなかった…。

とにかく、結局のところ、この質問の解決策は、Pheelicksがここで回答したもののようです:https ://stackoverflow.com/a/4287597/1667990

-これは常にトップになるアクティビティを開始します、

-アルファから0.0fであるため、透明になります。

-タッチを背後のアクティビティにリダイレクトします:

//Let touches go through to apps/activities underneath.
Window window = activity.getWindow();
window.addFlags(FLAG_NOT_TOUCHABLE);

-そして、前のリンクで説明されていない最も重要なことは、ウィンドウの後ろの薄暗いを1に設定することです(メッセージボックスの薄暗いように、最大​​に設定すると:Dの後ろが黒になります)

window.setDimAmount ((float)1.0) ;
window.setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
    WindowManager.LayoutParams.FLAG_DIM_BEHIND);

私はそれを試していませんし、私の状況で予期しない動作を引き起こす可能性があるため、アプリでそれを行わないことにしましたが、誰かが試してみたら、フィードバックを追加してください!

于 2013-03-27T09:33:02.200 に答える