2011-05-11 11 views
23

आज रात मुझे वर्तमान में ऐसा कुछ करने में समस्याएं हैं जो मैंने सोचा था कि सरल होगा .../mnt/sdcard में फ़ोल्डर बनाना।एंड्रॉइड mkdir फ़ोल्डर नहीं बना रहा

मैं पालन अनुमति की स्थापना की है:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 

मेरे Main.java है फ़ोल्डर बनाने के लिए निम्नलिखित: "बनाया फ़ोल्डर"

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.mkdir(); 
     } 
     if (!success){ 
      Log.d(TAG,"Folder not created."); 
     } 
     else{ 
      Log.d(TAG,"Folder created!"); 
     } 
    } 

मैं हो मेरे लॉग में संदेश लेकिन जब मैं /mnt/sdcard और /sdcard दोनों को चेक करता हूं तो किसी के पास फ़ोल्डर नहीं है। मैंने कॉल करने का प्रयास किया है:

Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) 

और यह सच हो जाता है। मैं इसे सिर्फ एक नहीं समझ सकता क्योंकि सभी संकेत इंगित कर रहे हैं कि इसे काम करना चाहिए। मैंने एसडी कार्ड बढ़ने के मामले में पीसी से डिस्कनेक्ट किए गए फोन के साथ भी कोशिश की है या कुछ ऐसा है जो मैं वर्तमान में विकास के लिए एम्यूलेटर के बजाय अपने फोन का उपयोग कर रहा हूं। किसके बारे में बात करते हुए, debuggable से true शायद इसे फ़ोल्डर बनाने से रोकता है?

धन्यवाद!

उत्तर

42

क्या /mnt/sdcard/tallgrass/ निर्देशिका मौजूद है? (मुझे अनुमान नहीं है, लेकिन आप कभी नहीं जानते।)

File.mkdirs() विधि सभी आवश्यक निर्देशिकाएं तैयार करेगी; mkdir() पथनाम में केवल अंतिम निर्देशिका बनाएगा।

+0

यह है कि! मैं एक उत्तर पोस्ट करने की कोशिश कर रहा था क्योंकि मुझे लगा कि मैंने पोस्ट करने के कुछ क्षण बाद ही एक नया उपयोगकर्ता होने के कारण यह मुझे अपनी पोस्ट का जवाब नहीं देगा। जैसे ही यह मुझे देता है मैं इसे जांचूंगा। धन्यवाद! –

+0

डी ओह! अधिकांशतः स्वचालित प्रवर्तन पर्याप्त उचित होते हैं (और स्पैम को खटखटाए जाने में बहुत प्रभावी होते हैं), लेकिन नए उपयोगकर्ता कभी-कभी उन प्रतिबंधों का शिकार करते हैं। वैसे भी, एसओ में आपका स्वागत है! :) – sarnold

0

चेक जहां आप उन अनुमतियों वे इस तरह से जाना चाहिए लगा रहे हैं:

<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" 
संबंधित मुद्दे