问题描述
我想加载图像,但出现此错误:
/storage/emulated/0/productss/Montearci_products/Bracelets/airplane/Brac - 020.jpg: open Failed: EACCES (Permission denied)
Picasso.get().setLoggingEnabled(true);
Picasso.get().load(muri).into(mimg);
我的安卓版本是 10。
我的权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
解决方法
我刚刚在应用程序中添加了这一行:
android:requestLegacyExternalStorage="true"
我不知道,但对于 android 10 应该添加它!
,您应该注意的第一个选项是权限 -
对于 API 23+,您需要请求读/写权限,即使它们已经在您的清单文件中,因为这些被认为是危险的权限
// Storage Permissions
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE
};
/**
* Checks if the app has permission to write to device storage
*
* If the app does not has permission then the user will be prompted to grant permissions
*
*
*/
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity,Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(
activity,PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE
);
}
}
您可以尝试的第二个选项是:-
根据毕加索文档,您必须执行以下操作:file:///android_asset/DvpvklR.png
所以我曾经有:
/storage/sdcard/Pictures/findyoursport/yoursport_1482358052384.jpeg
前置:file:// 成功
第三 - 如果您在 Android 10 或更高版本上运行此程序,请使用此程序->
<manifest ... >
<application android:requestLegacyExternalStorage="true" ... >
...
</application>
</manifest>
我希望它会奏效
,也许你应该添加文件系统权限请求
,您可能缺少 Manifest 中的以下权限才能读取 SD 卡:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />