1

このコードで画面の明るさを制御する単純な Appwidget を作成しました。

android.provider.Settings.System.putInt(context.getContentResolver(), 
                  android.provider.Settings.System.SCREEN_BRIGHTNESS, 50);

ウィジェットをクリックしても、すぐにバックライトの明るさに変化はありません。しかし、電話をロックおよびロック解除すると、機能します。ダミーアクティビティを使用すると解決策が得られることをプログラムで(電源ウィジェットと同様に)変更する画面の明るさを読みました。だから私はこのような活動を作成しました

public class Bright extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.finish();

}
}

私の AppWidget クラスでは、次のようなインテントを使用しました。

context.startActivity(new Intent(context, Bright.class));

しかし、ウィジェットをクリックすると、強制的に閉じます。私の実装は AppWidget に対して正しいですか??

4

1 に答える 1

0

ダミーをすぐに応答させたい場合はActivity、 を使用してダミーの明るさも調整する必要があります。getWindow().getAttributes().screenBrightness

クラッシュに関しては、スタック トレースを投稿することをお勧めします。ただし、最初にマニフェストに追加したことを確認してください。

于 2012-01-25T13:24:30.913 に答える