我正在尝试从小部件更新显示亮度,但我有一些问题.
要更改亮度级别,我使用:
Settings.System.putInt(context.getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS, 200);
Run Code Online (Sandbox Code Playgroud)
这会修改显示设置(实际上在显示 - >亮度级别正确)但显示的有效亮度不会改变.如果我锁定屏幕并解锁,亮度最终会变为我设定的值.
我认为这是一个设置更新问题,那么在设置更改后如何立即更新显示设置?
我读过WindowManager.LayoutParams lp = getWindow().getAttributes();应该使用但我在App Widget中工作,因此无法调用getWindow().
我正在为Honeycomb 3.0开发动态壁纸,但我收到一个随机错误.
当我在壁纸选择器(带有"设置壁纸"和"设置..."按钮的窗口,要理解)和动态壁纸时,如果我旋转设备,壁纸应重新加载,配置适应新的方向.有时会这样,有时会崩溃.
该错误在某种程度上与BaseSurfaceHolder.unlockCanvasAndPost方法有关,但我真的不知道是不是问题.我认为它无法正确加载一些资源..
这是错误日志:
07-21 16:07:38.490: WARN/WindowManager(292): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@40d19f28 does not exist
07-21 16:07:38.490: WARN/WindowManager(292): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:6731)
07-21 16:07:38.490: WARN/WindowManager(292): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:6722)
07-21 16:07:38.490: WARN/WindowManager(292): at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2414)
07-21 16:07:38.490: WARN/WindowManager(292): at com.android.server.wm.Session.remove(Session.java:149)
07-21 16:07:38.490: WARN/WindowManager(292): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:120)
07-21 16:07:38.490: WARN/WindowManager(292): at com.android.server.wm.Session.onTransact(Session.java:111)
07-21 16:07:38.490: WARN/WindowManager(292): at android.os.Binder.execTransact(Binder.java:320)
07-21 16:07:38.490: WARN/WindowManager(292): at dalvik.system.NativeStart.run(Native Method)
07-21 16:07:38.490: ERROR/AndroidRuntime(20768): FATAL EXCEPTION: main
07-21 16:07:38.490: ERROR/AndroidRuntime(20768): java.lang.IllegalArgumentException
07-21 16:07:38.490: ERROR/AndroidRuntime(20768): at android.view.Surface.unlockCanvasAndPost(Native Method)
07-21 16:07:38.490: …Run Code Online (Sandbox Code Playgroud)