Questions tagged «android-external-storage»

8
Android的READ_EXTERNAL_STORAGE权限
我正在尝试访问用户设备上的媒体文件(音乐)以进行播放;一个简单的“ hello world”音乐播放器应用。 我遵循了一些教程,它们基本上给出了相同的代码。但这是行不通的。它不断崩溃,并告诉我: error..... Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media from pid=27696, uid=10059 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() .... 现在,这是我的清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="slimsimapps.troff" > <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> …

7
在Android上写入外部SD卡的通用方法
在我的应用程序中,我需要在设备存储中存储大量图像。这样的文件往往可以满足设备的存储需求,我希望用户可以选择外部SD卡作为目标文件夹。 我到处都读到Android不允许用户写入外部SD卡,所谓SD卡,是指外部可安装的SD卡,而不是外部存储,但是文件管理器应用程序设法在所有Android版本上写入外部SD。 在不同的API级别(Pre-KitKat,KitKat,Lollipop +)上授予对外部SD卡的读/写访问权限的更好方法是什么? 更新1 我从Doomknight的答案中尝试了方法1,但无济于事:如您所见,在尝试在SD上写入之前,我正在运行时检查权限: HashSet<String> extDirs = getStorageDirectories(); for(String dir: extDirs) { Log.e("SD",dir); File f = new File(new File(dir),"TEST.TXT"); try { if(ActivityCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)==PackageManager.PERMISSION_GRANTED) { f.createNewFile(); } } catch (IOException e) { e.printStackTrace(); } } 但是我收到访问错误,尝试在两种不同的设备上进行:HTC10和Shield K1。 10-22 14:52:57.329 30280-30280/? E/SD: /mnt/media_rw/F38E-14F8 10-22 14:52:57.329 30280-30280/? W/System.err: java.io.IOException: open failed: EACCES …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.