我的应用程序中存在一些问题。
我只是想读取SD卡中的文件,所以我把文件放在/ storage / sdcard / abcd(我用adb制作的文件夹)中的模拟器中。 文件名是" 1.14P",我确认它在该路径中。它的许可是770。
但我的问题是,我无法通过应用程序访问SD卡。
sampleFile = new File (Environment.getExternalStorageDirectory(), "abcd/1.14P");
sampleFile.exists() //return false
sampleFile2 = new File (Environment.getExternalStorageDirectory(), "tttt");
sampleFile2.mkdir() //return false
我认为Sdcard安装得很好。
String state = Environment.getExternalStorageState(); //return "mounted"
我允许但我无法访问SD卡。这是我的manifest.xml。 (部分)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hu.test004" >
<uses-permission android:name="ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...(Activities)
我无法理解为什么会这样。请给我一些帮助。感谢。
答案 0 :(得分:2)
已解决::我已经知道了! 问题是,我用大写字母声明了权限,因此App没有授予权限。
我改变了
Address
到
<uses-permission android:name="ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/>
并获得许可。
感谢您的支持。
答案 1 :(得分:0)
我认为“,”是问题的一部分。另一个是“exists()”用于目录,而不是文件。
见这里:
new File(path) always actually creates a file on android?
与文档相反:
http://developer.android.com/reference/java/io/File.html
您可能希望改为使用isFile()
。
答案 2 :(得分:0)
您可以尝试添加&#34; /&#34;在你的名字前? 例如&#34; /abcd/1.14P"