java - getWindow().getAttributes() 期间出现 NullpointerException;

标签 java android screen-brightness

我正在尝试获取 Android 中的屏幕亮度。

场景是这样的:A 类调用 B 类的函数:

A类:

if(condition is true){
  ClassB.function();
}

B类:

function(){
WindowManager.LayoutParams screenBrightness = getWindow()
                    .getAttributes();
screenBrightness.screenBrightness = 1;
screenBrightness.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
screenBrightness.flags |= WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
screenBrightness.flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
getWindow().setAttributes(screenBrightness);
}

收到的异常如下:

06-15 13:36:30.476: E/AndroidRuntime(8873): FATAL EXCEPTION: main
06-15 13:36:30.476: E/AndroidRuntime(8873): java.lang.NullPointerException
06-15 13:36:30.476: E/AndroidRuntime(8873):     at function(B.java:68)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at something.run(A.java:104)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at android.os.Handler.handleCallback(Handler.java:587)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at android.os.Handler.dispatchMessage(Handler.java:92)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at android.os.Looper.loop(Looper.java:130)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at android.app.ActivityThread.main(ActivityThread.java:3701)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at java.lang.reflect.Method.invokeNative(Native Method)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at java.lang.reflect.Method.invoke(Method.java:507)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
06-15 13:36:30.476: E/AndroidRuntime(8873):     at dalvik.system.NativeStart.main(Native Method)

有人之前遇到过这个问题吗?

最佳答案

我在调用 transaction.commit() 时遇到了这个问题。

将其更改为 transaction.commitAllowingStateLoss() 后问题就消失了。

关于java - getWindow().getAttributes() 期间出现 NullpointerException;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227749/

相关文章:

java - 如何使用预签名 URL 将文件上传到 S3,而不将其加载到内存中

java - Hibernate 映射 - 具有相同列的两个表引用一个具有外键的表

android - 从 Android 应用程序更改 BlackBerry-10 屏幕亮度

uipangesturerecognizer - 如何确定 UIPanGesture 的方向(向上或向下)?

java - (卡片布局)为JComboBox设置CardPanels的卡片名称

java - 如何生成一个 n 个随机正整数的序列,这些整数加起来等于某个值?

android - 自定义列表的 AutoCompleteTextView 问题

android - 谷歌地图 API 黑屏

android - 在阿拉伯语的 RTL 中单独获取密码字段错误

macos - 有没有办法查询 MacBook LCD 的当前亮度级别?