当我在Android M Preview 3上有一个23的目标API时,我似乎无法获得Manifest.permission.WRITE_SETTTINGS权限.
requestPermissions(new String[]{Manifest.permission.WRITE_SETTINGS},
101);
Run Code Online (Sandbox Code Playgroud)
请求权限不会显示我期望的对话框,但如果我未经此许可进行以下调用,
RingtoneManager.setActualDefaultRingtoneUri(activity, RingtoneManager.TYPE_RINGTONE, ringUri);
Run Code Online (Sandbox Code Playgroud)
电话会议除外,因为我没有这个权限.
我不知道从哪里开始.23有新的铃声API吗?或者这个权限更改只是让任何非系统应用程序无法更改铃声?
我想以编程方式更改系统亮度.为此我使用此代码:
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = (255);
window.setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
因为我听说最大值是255.
但它什么都没做.请建议任何可以改变亮度的东西.谢谢
如何在Android中获得首选屏幕亮度?
要更改屏幕亮度,请使用WindowManager.LayoutParams.screenBrightness.根据文件:
这可以用于覆盖用户首选的屏幕亮度.默认值小于0表示使用首选屏幕亮度.0到1可将亮度从暗调整为全亮.
当screenBrightness小于0时,我想从首选的屏幕亮度开始.我怎样才能获得这个价值?
ContentObserver的文档对我来说并不清楚.在哪个线程上调用ContentObserver的onChange?
我检查过,它不是你创建观察者的线程.看起来它是发送通知的线程,但我没有找到有关它的文档.