Android Q dp2 已经默认隔离应用存储

2019-04-04 11:17:20 +08:00
 yukiww233
读写外置存储权限分成[音乐][照片和视频]两个权限
未适配 Q 的文件管理器已经无法访问到公共存储空间
12276 次点击
所在节点    Android
55 条回复
ysc3839
2019-04-04 14:07:09 +08:00
@pmispig @honeycomb 不给权限不让用是无法解决的,除非不再提供这个权限。
即使用 App Ops 忽略了某个权限,应用也能发现读出来的数据是空的从而拒绝工作。只有返回一个假的数据才行。
longaiwp
2019-04-04 14:28:15 +08:00
@hhhsuan 你先看清楚,很多项都是针对 Android Q 完全禁止的,不看 target 版本
redsonic
2019-04-04 14:34:59 +08:00
然而国产魔改 android 到时候仍然会给这些大型流氓 app 开白名单。只要 android 还是开源的,权限这个问题无解。
codingadog
2019-04-04 14:37:26 +08:00
@maomaomao001 storage redirect
wangxiaoaer
2019-04-04 15:02:10 +08:00
[音乐][照片和视频] 这是什么逻辑啊? 普通 pdf 等文件该放到哪里呢?
yukiww233
2019-04-04 15:09:38 +08:00
@wangxiaoaer #25
对于照片和视频共享集合,请使用 MediaStore.Images 或 MediaStore.Video。
对于音乐共享集合,请使用 MediaStore.Audio。
对于下载内容共享集合,请使用 MediaStore.Downloads。

用户自己放的文件只能通过 DocumentsProvider 选取了
orangeade
2019-04-04 15:09:56 +08:00
@redsonic 不用国产不就行了
honeycomb
2019-04-04 15:44:33 +08:00
@ysc3839 确实可以如此反制 appops,但实际这么做的应用非常之少。

不过就前面提到的公共储存与设备永久识别码的部分来说,Q 的改动属于“不再提供这个权限(能力)”,因此是解决了。

@wangxiaoaer 参照 iOS 的做法即可
honeycomb
2019-04-04 15:46:41 +08:00
@Love4Taylor 那就无法获取呗,谁让它们不肯用 storage access framework API
honeycomb
2019-04-04 15:47:06 +08:00
@hhhsuan no,任何 targetsdk 的应用都会受到该限制
taresky
2019-04-04 15:48:29 +08:00
@pmispig #4 除非 android 禁止第三方 app 商店
orangeade
2019-04-04 16:02:14 +08:00
@taresky 那还不如直接砍掉 Android 算了
wangxiaoaer
2019-04-04 17:03:50 +08:00
@yukiww233 #26 就是说假如希望发送自己的文件,首先 qq 要申请 download 权限,通过自己要把文件放到 download 文件夹里面?

这样是挺好,但就是有点麻烦,而且学习成本有点高。

另外,文件管理器这种应用怎么办?
yukiww233
2019-04-04 17:26:38 +08:00
@wangxiaoaer #33
并不行,对应权限只能访问其他应用共享到 shared collection 的文件,没在 MediaStore 注册文件只能用 document provider 选取。
按目前的 api 看来第三方文件管理器全挂,国内的 rom 大概率也不会开启这个特性
kwanzaa
2019-04-04 17:27:13 +08:00
@orangeade Fuchsia:你这么说我可不困了啊
cstj0505
2019-04-04 17:30:06 +08:00
imei 不给我记得有些应用是无法启动的吧
hmzt
2019-04-04 17:37:26 +08:00
感觉意义不大,还很麻烦,到时候 app 不给权限不让用还不是要给
应该禁止 app 主动获取数据,必须由用户发起,另外设置即使用户发起也不允许被其他 app 访问的私密数据.
clouds
2019-04-04 17:48:22 +08:00
其实对于工作用手机来说,国内使用安卓手机还有一个推送问题。这个只能期待工信部主推的统一推送联盟起作用了。
HFX3389
2019-04-04 18:19:48 +08:00
@clouds #38 我觉得这个统一推送联盟暂时起不了太大的风浪。

统一推送联盟的“绿色 APP 公约”:

1.从维护国家和全行业整体利益的高度出发,严格遵守国家的各项法律法规,积极进行内容审核和把控,切实践行社会主义核心价值观,为用户提供积极健康的内容,创造良好的文化环境。

2.Target SDK Version 最低:24。

3.不在启动应用时强制请求『读取手机状态和身份( READ_PHONE_STATE )』权限。

4.App 限制交叉唤醒、链式启动。除用户的主动交互触发外,避免启动其它应用未处于运行中的进程。

5.( Target SDK Version >= 28 可豁免) App 让设备 CPU 尽可能处于休眠状态,请求唤醒 CPU 的周期性任务时间间隔尽可能大于 1 小时,并避免在不必要的时间段(如夜间)继续调度周期性事件。

6.( Target SDK Version >= 26 可豁免) App 避免不必要常驻后台的行为。在应用进入后台的短时间内须停止所有后台服务,且在除了收到广播和正常触发的后台行为期间不可以再启动新的后台服务。

----

除了第 1、2 条以外都莫得人去遵守!特别是第 3、4 条!

另外,“绿色 APP ”的“三大权益”:



我认为对于 BAT 之类的厂商来说,有跟没有一样!

第 1 条:统一推送联盟官方微信公众号,官方微博的定期公告展示。

(都依托在微信和微博这两个大厂 APP 上了,我觉得腾讯、新浪不会加入!)

第 2 条:统一推送通道层接口标准及 SDK 的优先试用权

(大厂的推送难道还要依靠“统一推送通道”,不见得吧,即使微信不用“统一推送通道”用自己的通道,难道系统还能强制杀掉微信的推送通道服务?用户也不会用这种系统吧)

第 3 条:统一推送联盟旗下相关业务的优先申请试用权限。

(这个我认为一样对大厂没啥用,除非相关业务获得的数据是大厂无法获得的)

----

以上都是个人猜测!毕竟这种依靠自觉的类似“公约”“约定”在安卓这个平台上并没有多大实际的效果!安卓这个平台就是最有力的证明!
HFX3389
2019-04-04 18:23:27 +08:00
改一下:
阿里巴巴(中国)有限公司
北京百度网讯科技有限公司
深圳市腾讯计算机系统有限公司
系统一推送联盟的“副理事长”
----
新浪网技术(中国)有限公司
系统一推送联盟的“会员单位”

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

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

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

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

© 2021 V2EX