2012-10-24 7 views
5

Dostaję ten wyjątek:Android: runtime-error 'Nie można utworzyć katalogu' na wykorzystaniu klasy DownloadManager metoda setDestinationInExternalPublicDir

10-24 17:08:19.711: E/AndroidRuntime(1379): FATAL EXCEPTION: main 
10-24 17:08:19.711: E/AndroidRuntime(1379): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.campusfqm.cfqm/br.com.campusfqm.cfqm.DownloadManagerActivity}: java.lang.IllegalStateException: Unable to create directory: /mnt/sdcard/Download 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.ActivityThread.access$1500(ActivityThread.java:123) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.os.Handler.dispatchMessage(Handler.java:99) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.os.Looper.loop(Looper.java:126) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.ActivityThread.main(ActivityThread.java:3997) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at java.lang.reflect.Method.invokeNative(Native Method) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at java.lang.reflect.Method.invoke(Method.java:491) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at dalvik.system.NativeStart.main(Native Method) 
10-24 17:08:19.711: E/AndroidRuntime(1379): Caused by: java.lang.IllegalStateException: Unable to create directory: /mnt/sdcard/Download 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.DownloadManager$Request.setDestinationInExternalPublicDir(DownloadManager.java:466) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at br.com.campusfqm.cfqm.DownloadManagerActivity.download(DownloadManagerActivity.java:51) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at br.com.campusfqm.cfqm.DownloadManagerActivity.onCreate(DownloadManagerActivity.java:43) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700) 
10-24 17:08:19.711: E/AndroidRuntime(1379):  ... 11 more 

Używanie DownloadManager klasy, z tym kodem:

DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://centraldemangas.com.br/forum/dbtech/vbshop/images/gifts/pidgey.gif")); 
      request.setAllowedNetworkTypes(Request.NETWORK_MOBILE | Request.NETWORK_WIFI); 
      request.setAllowedOverRoaming(false); 
      request.setTitle("pidgey.gif"); 
      request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,"pid.gif"); 
      id = downloadManager.enqueue(request); 

Wyjątek wskazuje na request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,"pid.gif");

Odpowiedz

6

Problem jest w

Nie można utworzyć katalogu:/mnt/sdcard/Pobierz

Spróbuj tego:

String name = Environment.getExternalStorageDirectory().getAbsolutePath(); 

name += "/YourDirectoryName/" ; 
2

Myślę, że nie dałeś rozmiar karty SD po skrzynce emulatora.

Powiązane problemy