如何在安卓设备上添加写入文件权限
我想使用以下方法写入文件:
BufferedWriter buf = new BufferedWriter(new FileWriter("test2"));
buf.write(mytext);
buf.close();
但我得到了这个消息(file test2 read only)
如何获得写入权限?
我想使用以下方法写入文件:
BufferedWriter buf = new BufferedWriter(new FileWriter("test2"));
buf.write(mytext);
buf.close();
但我得到了这个消息(file test2 read only)
如何获得写入权限?
你有没有在你的AndroidManifest.xml文件中得到这个?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
此外,此链接包含您需要了解的有关读取和写入文件的所有信息:
这个问题已经很老了,但我无论如何都要写这个答案,因为这是当你搜索“在android中写入文件权限”时的最高结果。
NotACleverMan的答案是有效的,但自从MarshMallow发布以来,必须要求用户手动提供权限。因此,必须向用户显示一个对话框,用户可以在其中显式拒绝或授予使用某些功能的权限。
摘自安卓开发者文档
从 Android 6.0(API 级别 23)开始,用户会在应用运行时(而不是在安装应用时)向应用授予权限。此方法简化了应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还使用户可以更好地控制应用程序的功能;例如,用户可以选择授予相机应用对相机的访问权限,但不允许授予对设备位置的访问权限。用户可以随时通过转到应用的“设置”屏幕来撤消权限。
因此,首先必须将其包含在清单文件中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
此后,当您需要访问指定的资源时,您必须向用户请求权限
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.WRITE_STORAGE},
YOUR_PERMISSION_STATIC_CODE_IDENTIFIER);
有关实现的更多详细信息,请参阅此处