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 回答