在Appwidget中更改背光亮度没有立即响应

时间:2012-01-25 12:48:29

标签: android android-appwidget backlight screen-brightness

我已经创建了一个简单的Appwidget来控制屏幕的亮度:

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

当我点击小工具时,背光的亮度不会立即发生变化。 但当我锁定并解锁手机时,它可以工作。我读Changing screen brightness programmatically (as with the power widget)使用虚拟活动会给出解决方案。所以我创建了这样的活动

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是否正确?

1 个答案:

答案 0 :(得分:0)

如果您希望立即响应,则应使用Activity来调整假人getWindow().getAttributes().screenBrightness的亮度。

对于崩溃,您可能希望发布堆栈跟踪。但首先要检查是否已将其添加到清单中。