2015-09-24 2 views
0

Может ли кто-нибудь сказать мне, почему мое приложение не может создать dirs? Вот мой код:android: mkdirs() возвращает false

package com.example.android.myapplication; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.os.Bundle; 
import android.os.Environment; 

import java.io.File; 


public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() 
       + File.separator + "meinordner"); 
     if(!dir.exists()) { 
      boolean s = dir.mkdirs(); 
      if(!s) { 
       AlertDialog.Builder alert = new AlertDialog.Builder(this); 
       alert.setMessage("could not create dir"); 
       alert.show(); 
      } 
     } 
    } 

} 

и мой Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.myapplication" > 
    <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" /> 

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

</manifest> 

, когда я выполнить приложение, предупреждение показано. Я даже пытался запустить приложение, когда мой телефон не подключен к компьютеру и Therfore хранения не установлен где-то еще

+0

Какова ваша целевая и минимальная версии sdk? –

+0

WRITE включает READ, но ответ ниже помог – Ginso

ответ

1

Во-первых, изменение:

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

к:

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

Второму , изменение:

new File(Environment.getExternalStorageDirectory().getAbsolutePath() 
      + File.separator + "meinordner"); 

к:

new File(Environment.getExternalStorageDirectory(), "meinordner"); 
+0

поблагодарить u, он работал – Ginso

Смежные вопросы