在Android中保存文件时权限被拒绝
我正在开发一个Android应用程序。在我的应用程序中,我将位图另存为文件。但即使我在清单文件中设置了正确的权限,它也会抛出“权限拒绝”异常在Android中保存文件时权限被拒绝,android,bitmap,android-permissions,android-file,android-external-storage,Android,Bitmap,Android Permissions,Android File,Android External Storage,我正在开发一个Android应用程序。在我的应用程序中,我将位图另存为文件。但即使我在清单文件中设置了正确的权限,它也会抛出“权限拒绝”异常 <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
这就是我将位图保存为文件的方式
private void downloadImage(Bitmap bitmap)
{
try{
String fileName = String.valueOf(System.currentTimeMillis())+".jpeg";
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), fileName);
if(file.exists()){
file.delete();
}
OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(file);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
Toast.makeText(getBaseContext(),"Image saved to your device",Toast.LENGTH_SHORT).show();
}
catch (IOException e)
{
Toast.makeText(getBaseContext(),e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
当我保存时,它像这样错误地向我敬酒
这些是我在清单文件中设置的所有权限
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
为什么会有这样的错误?如何更正代码 我想你是为安卓开发的吧?对于android M,您必须获得运行时的权限 请看
搜索“Android M runtime permissions”,您将发现数千个示例和解释。可能重复
文件。delete()
在继续代码之前检查返回值。非常感谢。这就是问题所在。现在我解决了。