我想在android中以编程方式更改屏幕亮度.目前我使用此代码:
WindowManager.LayoutParams lp = getWindow().getAttributes();
float brightness=1.0f;
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
但是这个示例代码适用于蛋糕,而不是最新版本.我使用的是最新版本的SDK.对于较新的Android版本,首选解决方案是什么?
从下面的清单中可以看出,我已经添加了许可,我错过了什么?
<uses-permission-sdk-m android:name="android.permission.WRITE_SETTINGS" />
Run Code Online (Sandbox Code Playgroud) 可以在Android模拟器中测试屏幕亮度变化吗?我尝试了各种使用以下代码片段的示例:
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (*some float percentage*);
window.setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
但我没有看到模拟器中亮度有任何变化.我用蛋糕和2.2测试了它.
我在设置屏幕亮度方面遇到了麻烦.为此,我使用以下代码:
Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
Run Code Online (Sandbox Code Playgroud)
其中brightness的值介于0到255之间.
问题是,在某些设备中它可以工作(Htc One,Nexus 5,......),在其他设备中不行!例如,如果我使用此功能在三星设备中设置屏幕亮度,屏幕不会变得更亮或更暗,如果我进入"通知面板"(从屏幕顶部向下滑动),我可以看到亮度级别改变.
有没有人知道如何设置适用于所有Android设备的亮度?有没有人知道为什么它在某些设备上有效,但在其他设备中呢?
UPDATE 1:
此方法用于BroadcastReceiver,因此没有活动!
我的相机应用程序预览在低光照下太暗.如果我打开我的谷歌相机,它将增加预览内的亮度,以便我们的脸部可以拍照.但我的预览完全是黑暗的.我处理了亮度和光线传感器.我的Lightsensor工作时很轻.我需要让预览可见.让我知道我该怎么办?
public void initialBrightness() {
try {
brightnessMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
brightnessModeAuto = true;
}
Settings.System.putInt(this.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 95);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100;
getWindow().setAttributes(lp);
}
Run Code Online (Sandbox Code Playgroud)
我在调用相机预览类之前在onCreate方法中调用此方法.
我想根据光线改变屏幕的亮度..
我找到了获取亮度级别和设置亮度的链接.
但我想根据周围的光线改变亮度.总之,我想做与自动亮度相同的工作.
如何检测周围光线?或者我可以触发自动亮度功能??
亮度的值范围在0到255之间.我想根据周围的亮度设置亮度等级,不能是0到255.如何获得这两者之间的比例.
需要帮助.谢谢
我的应用程序始终将LCD设置为打开状态,但会损失太多电量,我想在不活动50秒后调暗或关闭LCD灯(无睡眠或锁定)。
我尝试了一些解决方案,但没有人能解决我的问题。
我只想要一项活动,而不是其他活动。
请帮助我使用任何可用于此目的的类或方法
编辑:
我的主要问题:
我想在锁定时使用Android设备的硬键。
所以现在告诉我,当屏幕锁定时,如何在我的应用程序中使用硬键单击?
编辑:
我有一个带有5个硬键的设备,我想在设备锁定时使用它们。