用户第一次打开我的应用时,我会将一些数据写入本地文件。
我知道我的应用需要获得写入此文件的权限,因此我正在使用getFilesDir():
File ins = new File(context.getFilesDir(), "INSTALLATION");
// do some things
FileOutputStream out = FileOutputstream.new(ins);
out.write(data.toString().getBytes());
out.close();
99.9%的案例有效。但我看到一小部分异常,说我没有权限创建这个文件。例如:
java.lang.RuntimeException: Unable to create application com.blah.blah.Blah
java.lang.RuntimeException: java.io.FileNotFoundException: /INSTALLATION (Permission denied)
为什么会这样?我可以解决吗?立即崩溃是这样使用应用程序的不愉快的第一次体验。
答案 0 :(得分:-1)
在android清单中授予权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
确保您在获得正确的文件路径时使用扩展程序
java.io.FileNotFoundException