大厂的 app 是怎么做到,不用运行时权限,却能获得调节屏幕亮度的权限的?

2018-10-25 13:19:01 +08:00
 NonClockworkChen
app 里有播放器的功能,有手势调节亮度的功能。
Android 6.0 以上,需要运行时权限才能获得 WRITE_SETTINGS,调节亮度。
但是哔哩哔哩和优酷,在红米 4x MIUI9.6 Android7.1.2 上都不用运行时权限,就能进入 app 调节亮度,是怎么做到的?

不会是 targetsdvVersion 22 吧,这个是有作用,但是副作用也很大,用户去系统里把权限去掉 app 会闪退。还有好像不能覆盖安装。
6604 次点击
所在节点    Android
11 条回复
pubby
2018-10-25 13:25:19 +08:00
那么调的是屏幕亮度还是播放画面亮度?
wohenyingyu02
2018-10-25 13:27:58 +08:00
调低 target sdk 至 6.0 以下编译即可。
NonClockworkChen
2018-10-25 13:30:52 +08:00
@pubby 谢谢,还真是如你说的,哔哩哔哩和优酷都是调的画面的亮度,不是屏幕亮度。
我们用的是阿里的 vod 播放器 SDK,调的是屏幕亮度。
NonClockworkChen
2018-10-25 13:31:35 +08:00
@wohenyingyu02 目前只能这么做了,是用 RN 写的,也没法多做什么了。
NonClockworkChen
2018-10-25 13:34:31 +08:00
@wohenyingyu02 百度了一下,原来还有设置当前界面的亮度的功能,代码量不是很大,倒是可以尝试写写。
smile561607154
2018-10-25 17:29:25 +08:00
独立 module,module 的 targetSdkVersion 是 22,应该也是一个实现思路
zyp0921
2018-10-25 17:39:32 +08:00
还有这种操作
20015jjw
2018-10-25 18:00:36 +08:00
只有国内这种不用 play 的生态才能这么搞 是真的刺激
bclerdx
2018-10-25 23:24:58 +08:00
@20015jjw 天朝总想着自成一体系,而拒绝融入世界。
mdcw0624
2018-10-25 23:40:07 +08:00
额,你可以直接更改 Windows 的属性来调节屏幕亮度,为什么要改设置里面的属性呢?

private void setWindowBrightness(int brightness) {
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness / 255.0f;
window.setAttributes(lp);
}
---------------------
作者:低调小一
来源:CSDN
原文: https://blog.csdn.net/wzy_1988/article/details/49472611
版权声明:本文为博主原创文章,转载请附上博文链接!
NonClockworkChen
2018-10-26 00:03:44 +08:00
@mdcw0624 谢谢,我以前没做过调节亮度的功能,所以对这块不熟悉。
阿里的 sdk 提供的就是调节系统亮度,所以也没多想,感觉也很合理。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/501012

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX