Tonight I am currently having issues doing something that I thought would be simple... making a folder in /mnt/sdcard.
I have set the follow permission:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
My Main.java
has the following to make the folder:
public class Main extends TabActivity {
static int index = 1;
private static final String TAG = "Main";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File folder = new File(Environment.getExternalStorageDirectory () + "/tallgrass/images");
boolean success = false;
if(!folder.exists()){
success = folder.mkdi开发者_开发问答r();
}
if (!success){
Log.d(TAG,"Folder not created.");
}
else{
Log.d(TAG,"Folder created!");
}
}
I get the "Folder created!" message in my log but when I check both /mnt/sdcard
and /sdcard
neither one has the folder. I have tried calling:
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
and it returns true. I just can't figure this one out because all signs are pointing that it should work. I have also tried it with the phone disconnected from the PC in case the SD card was mounting or something as I am currently using my phone instead of the emulator for developing. Speaking of which, does debuggable
to true
maybe prevent it from making the folder?
Thanks!
Does the /mnt/sdcard/tallgrass/
directory exist? (I'm guessing not, but you never know.)
The File.mkdirs()
method will create all needed directories; mkdir()
will only create the last directory in the pathname.
Check where you are putting the permissions they must go in this way:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.una.info.app">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name="edu.una.info.SplashScreenActivity"
Try Using Different Device. The problem exists with my Emulator Device, but when I connected my Oneplus 5T, it created a Folder (My Oneplus Does not have a External MicroSD).
But at the same time, my emulator (Pixel 3) does not create a Folder at all.
At least the Permissions are all good.
精彩评论