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得到了它。是否可以访问其他应用的缓存是否可以访问其他应用的缓存文件
。第82行:cond_0 const string v9,“content://org.zwanoo.android.speedtest/cache/results.csv“>getContentResolver()Landroid/content/ContentResolver得到了它。那么这是如何工作的呢?它使用内容提供商将其数据共享给其他应用程序@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;}
是的,谢谢,但我没有得到预期的结果,所以我转向了另一种方法