2017-03-12 112 views
0

我試圖創建Android的SD卡的文件夾......對於我在清單文件添加許可,而我這是我的代碼..聯想不允許在SD卡上創建文件夾

public void createFile(View view) 
    { 
     String state= Environment.getExternalStorageState(); 
     if(Environment.MEDIA_MOUNTED.equals(state)){ 
      File wallpaperDirectory = new File("/sdcard/Wallpaper/"); 
      res=wallpaperDirectory.mkdir() 
      if(res){ 
       Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show(); 
      } 
      else{ 
       Toast.makeText(this, "Failed", Toast.LENGTH_SHORT).show(); 
      } 
     } 
     else{ 
      Toast.makeText(this, "Make sure that you have a memory card mounted...", Toast.LENGTH_SHORT).show(); 
     } 
    } 

當我運行相同的代碼在奇巧模擬器其創建文件夾,但提前履行了聯想總是說失敗...謝謝...

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="bk.acs"> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".SubActivity1"></activity> 
    </application> 

</manifest> 
+0

你已在設備中的SD卡 –

+0

是的,我有..如果我沒有SD卡,那麼它應該給土司爲確保等等等等.. – bharath

+0

可以顯示您menifest並請告訴您的操作系統版本 –

回答

0

你不要以爲在Android的硬編碼文件路徑。 /sdcard/不適用於所有Android設備。

改爲使用Environment.getExternalStorageDirectory()

方法如下:

String state = Environment.getExternalStorageState(); 
if (Environment.MEDIA_MOUNTED.equals(state)) { 
    File wallpaperDirectory = new File(Environment.getExternalStorageDirectory(), "Wallpaper"); 
    if(!wallpaperDirectory.exist()) { 
     wallpaperDirectory.mkdir(); 
     ... 
    } 
} 

另外,如果你是在6.0或更高版本Android版本的測試,只是在AndroidManifest.xml聲明許可是不夠的。您需要request permission during run time。這是爲什麼它可能是KitKat工作的另一個原因,但不是更新的Android版本。

+0

非常感謝你的回答已經解決了我的問題 – bharath

+0

兄弟我成功地創建目錄,但它不是從我的電腦可見..如何使它公開? – bharath