Android 写入缓存文件时出错
我正在尝试写入缓存文件。Android 写入缓存文件时出错,android,Android,我正在尝试写入缓存文件。 Uri path1 = Uri.parse("content://package.name/cache"); File myFile = new File(path1.getPath(),"results.csv"); final boolean newFile = myFile.createNewFile(); FileOutputStream fOut = new FileOutputS
Uri path1 = Uri.parse("content://package.name/cache");
File myFile = new File(path1.getPath(),"results.csv");
final boolean newFile = myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
myOutWriter.append(data);
myOutWriter.close();
fOut.close();
在清单中添加了存储权限。错误I/ExternalStorageDemo:保存到:content://package.name/cache/results.csv W/System.err:java.io.IOException:权限被拒绝用于获取应用程序内部缓存文件目录 像这样:
File myFile=新文件(context.getCacheDir(),“results.csv”)代码>如果您的设备在Android 6或更高版本上工作,您是否已经请求运行时权限
有关更多详细信息,请参阅。检查在此之前授予的权限。更多细节如Shijil所说,仅仅在清单中添加权限是不够的。您还必须在运行时请求许可。或者只使用cache dir..line 82:cond_0 const string v9,“content://org.zwanoo.android.speedtest/cache/results.csv“>getContentResolver()Landroid/content/ContentResolver当baksmali从缓存中获取speedtest结果的应用程序时,代码>得到了它。是否可以访问其他应用的缓存是否可以访问其他应用的缓存文件。第82行:cond_0 const string v9,“content://org.zwanoo.android.speedtest/cache/results.csv“>getContentResolver()Landroid/content/ContentResolver当baksmali从缓存中获取speedtest结果的应用程序时,代码>得到了它。那么这是如何工作的呢?它使用内容提供商将其数据共享给其他应用程序@NoelSamuel你能试试这个吗。private boolean askPermission(int requestId,String permissionName){if(android.os.Build.VERSION.SDK_int>=23){int permission=ActivityCompat.checkSelfPermission(this,permissionName);if(permission!=PackageManager.permission_grated){//如果没有权限,则提示用户。this.requestPermissions(新字符串[]{permissionName},requestId);返回false;}return true;}
是的,谢谢,但我没有得到预期的结果,所以我转向了另一种方法