![]() | 1 yyzh 300 天前 via Android ...破事水...预装程序跟你自己装的程序当然权限不一样 |
2 sheldor 300 天前 via Android @yyzh 不仅仅是预装程序这么简单,在阉割了 play 服务的手机上重新安装 play 服务和 play 商店,通过 play 商店下载软件也不需要任何权限就能自动安装 |
3 ranaanna 300 天前 猜测应该是在安装的使用已经提示必须要了 SD 卡写入权限,或者第一次运行 google files 时给了 SD 卡写入权限、并且选了"Don't ask again"了吧。没有什么 api 可以偷偷用的 |
![]() | 5 moefishtang 300 天前 |
6 jeesk OP @moefishtang 高版本是这样的, 文件管理权限就可以了. 但是低版本的安卓, sdcard 需要单独权限. |
![]() | 7 NewYear 300 天前 |
![]() | 8 moefishtang 300 天前 |
9 jeesk OP @moefishtang 有 sdcard 外置的吗? 试一试删除或者添加 sdcard 的文件呢? |
![]() | 10 yyzh 300 天前 via Android |
![]() | 11 moefishtang 300 天前 @jeesk #9 没有,而且这个弹窗首次进入的时候就弹出了,如果不授权根本没法进入应用 倒是有台 Android11 设备支持 SD 卡,不过我认为没有额外测试的必要 |
12 jeesk OP @moefishtang android 11 我不清楚, 要不你也试一试. 我的是删除 sdcard 文件里面弹出来的. |
![]() | 13 moefishtang 300 天前 @jeesk #12 我使用 MT 管理器在没有授予权限的情况下进行读写操作,是不行的 另外 MT 管理器分两个版本,使用标准版本,即使未授予权限,依然可以看到存储设备中包含的文件夹(里面的文件看不到),target28 版本未授予权限的话什么也看不到 至于 SDCard ,OneUI 在 Android11 下挂载 SDCard 的方式非常奇怪,是挂载在/storage/5CB9-B555 目录下的,不过在开启使用 DocumentAPI 读写外置存储后,会跳转“文件”app 进行授权,在这之后可以在“授予所有文件的访问权限”未授权的情况下自由读写外置 SD 卡文件。 所以即使读写外置 SDCard ,依然是需要授权的,虽然走的不是 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE (在权限管理器里可以控制的是这个,即“存储”)。至少在 Android11 是这样 ![]() |
![]() | 14 moefishtang 300 天前 @jeesk #12 Google 文件极客没法测试,因为如果我不授予权限,进都进不去 |
15 jeesk OP @moefishtang 这个就是差异了, 你看我的截图, 极客文件就没有跳到 saf 申请文件. |
16 jeesk OP ![]() @moefishtang 文件管理权限和允许访问/sdcard/的权限不是一个. |
![]() | 17 moefishtang 300 天前 @jeesk #15 在 Android Studio 下开了个 5.0 的虚拟机,确实没有任何额外授权,在那个首次弹窗提示后直接能自由对文件进行读写操作了。 不过我也下载了 MT 管理器,同样不需要额外申请就可以读写/storage/sdcard 下的文件。我认为在这些低版本的系统上权限管理不严。文件极客通过正常的 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限就可以对文件进行操作,没必要走其他途径 另外,我去 APKMirror 查了下,文件极客分两个版本,Android8.0 以上的机型和 Android5.0 以上的机型分发的是两种不同的安装包 |
![]() | 18 moefishtang 300 天前 |
19 jeesk OP @moefishtang 不是这样的. 我说的是谷歌可以不通过 saf 就去管理 sdcard 的文件, 截图是我的弹窗. 但是其他应用都是通过跳转到 saf 申请权限才能反问 sdcard 的目录. 我想知道谷歌为何能这样. 如果 mt 和极客文件都是一样的流程反而我没有什么疑问了. |
![]() | div class="fr"> 20 moefishtang 300 天前 @jeesk #19 不是 SAF ,我是指那个欢迎页面,没有你图中那个弹窗提示 另外动态权限申请是 6.0 才有的,5.0 还是安装时授权。而且从申请的权限看,文件极客申请了 sdcard 读写权限的,想不通为何要用另外的方式读写 我的建议是你在你的设备上卸载并重新安装文件极客,观察反应。 ![]() |
21 jeesk OP @moefishtang 晚点我可以搞个视频发出来让大家看看. |
22 GPLer 300 天前 via Android 早年我记得 shell 权限好像会高一点,然后 Google 系应用权限是会高一点,手动安装的商店下载安装应用是不用任何确认的,感觉哪里写了个白名单,但一时半会找不到了。 |
![]() | 23 moefishtang 300 天前 @jeesk #21 应该不是什么奇怪的事情,Android 几个大版本对于读写权限的改动有很多,趋势是越来越严格的,Android11 系统中即使是系统预装的文件管理器(不是 DocumentUI )也无法读写/sdcard/Android/data 目录,应该是出于隐私保护的考虑。 |
![]() | 24 RikkaW 300 天前 ![]() |
![]() | 25 RikkaW 300 天前 只存活了 7.0 7.1 两个版本( 所以鲜为人知(((((( |
27 jeesk OP @RikkaW @moefishtang @GPLer @moefishtang @yyzh @NewYear @ranaanna @yyzh 这个是视频链接, 你们可以看一看是不是 https://tmp.link/f/67697ff560909 |
![]() | 28 moefishtang 300 天前 @jeesk 能看下应用详情和权限管理吗,我想试试看在 Android8.0 下复现这个情况 24 楼提到的 StorageVolume 那个我编了个例程,发现这个在 8.0 下是弹出了权限申请的,7.1 的我在试 |
![]() | 29 moefishtang 299 天前 @moefishtang 都要申请权限的好像... |
30 jeesk OP @moefishtang 有出现视频里面的 dialog 吗? |
![]() | 32 moefishtang 299 天前 @jeesk saf 都弹出了,另外没给 READ_EXTERNAL_STORAGE 权限会报 Permission Denied 。 |
![]() | 33 moefishtang 299 天前 @jeesk 玄学的地方就在于怎么拿到读权限的 |
![]() | 34 moefishtang 299 天前 @moefishtang 玄学的地方就在于文件极客怎么拿到读权限的 或者把文件极客换个签名重新打包安装下,看还能不能读? |
35 jeesk OP @moefishtang 视频里面都授权了 READ_EXTERNAL_STORAGE , 测试之前就授权了。 |
36 hingle 299 天前 类似的情况 /t/1056113 |
![]() | 37 ziseyinzi 299 天前 试了一下,lineageos 21 + MindTheGapps ,安装文件极客后需要手动授权 SAF |
![]() | 38 digitalwater 299 天前 不是。。弹窗申请权限是 android6.0 上才引入的特性。。6.0 以下根本没有这个机制。。弹什么窗 |
39 Nitsuya 299 天前 盲猜 GMS 绕权. 惯用手法. |