我在商店中有一个现有的应用程序,并使用“Environment.getExternalStorageDirectory()”来访问存储。这段代码从2.3到Lollipop(在我的Galaxy S5,Verizon上)工作,允许用户读/写一个名为Environment.getExternalStorageDirectory()/ MyFooBar的目录。最近我的S5更新到6.0 Marshmallow,现在我的S5(以及客户)也收到了/ storage / emulated / 0 / MyFooBar无法创建的错误。
对于Environment.getExternalStorageState()的每个android API调用,并与Environment.MEDIA_MOUNTED进行比较,表明它已挂载,而Environment.isExternalStorageRemovable()为否。
所有这些调用都是一样的,现在w / S5和Marshmallow都被打破了。
任何帮助都将不胜感激。
谢谢,吉姆
答案 0 :(得分:0)
从Android 6.0(API级别23)开始,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时。
3x2x3
是一个危险的权限,并且不会自动授予,因此您应该实施新的权限方案,以使其在Android Marshmallow上运行。
https://developer.android.com/training/permissions/requesting.html