2012-05-12 44 views
1

我試圖使用Android DownloadManager類這種方式: super.onCreate(savedInstanceState); setContentView(R.layout.main);Android DownloadManager error

Request r = new Request(Uri.parse("http://url")); 
r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "file.ext"); // also tried all other possible ways to set up destination 
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 
dm.enqueue(r); 

在最後一行,dm.enqueue(r)應用程序崩潰。 Logcat錯誤:

05-12 13:53:55.408: E/JavaBinder(6814): *** Uncaught remote exception! (Exceptions are not yet supported across processes.) 
05-12 13:53:55.408: E/JavaBinder(6814): java.lang.NoSuchMethodError: getExternalStorages 
05-12 13:53:55.408: E/JavaBinder(6814):  at com.android.providers.downloads.Helpers.isFilenameValid(Helpers.java:652) 
05-12 13:53:55.408: E/JavaBinder(6814):  at com.android.providers.downloads.DownloadProvider.checkFileUriDestination(DownloadProvider.java:613) 
05-12 13:53:55.408: E/JavaBinder(6814):  at com.android.providers.downloads.DownloadProvider.insert(DownloadProvider.java:500) 
05-12 13:53:55.408: E/JavaBinder(6814):  at android.content.ContentProvider$Transport.insert(ContentProvider.java:198) 
05-12 13:53:55.408: E/JavaBinder(6814):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:146) 
05-12 13:53:55.408: E/JavaBinder(6814):  at android.os.Binder.execTransact(Binder.java:324) 
05-12 13:53:55.408: E/JavaBinder(6814):  at dalvik.system.NativeStart.run(Native Method) 
05-12 13:53:55.408: W/dalvikvm(6814): threadid=7: thread exiting with uncaught exception (group=0x2aac8620) 
05-12 13:53:55.408: E/AndroidRuntime(6814): FATAL EXCEPTION: Binder Thread #1 
05-12 13:53:55.408: E/AndroidRuntime(6814): java.lang.NoSuchMethodError: getExternalStorages 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at com.android.providers.downloads.Helpers.isFilenameValid(Helpers.java:652) 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at com.android.providers.downloads.DownloadProvider.checkFileUriDestination(DownloadProvider.java:613) 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at com.android.providers.downloads.DownloadProvider.insert(DownloadProvider.java:500) 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at android.content.ContentProvider$Transport.insert(ContentProvider.java:198) 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:146) 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at android.os.Binder.execTransact(Binder.java:324) 
05-12 13:53:55.408: E/AndroidRuntime(6814):  at dalvik.system.NativeStart.run(Native Method) 

但是,如果我沒有以任何方式指定目的地,則會成功下載文件。

我不明白什麼是問題。請問你能幫幫我嗎?

+0

你在做什麼?在當前的源代碼中,'isFilenameValid()'不涉及'getExternalStorages()'方法。 – CommonsWare

+0

我在Xperia Neo mobile上運行這個。 – aplavin

+0

Xperia Neo是運行原始ROM還是一些改裝的ROM? – CommonsWare

回答

1

在模擬器(或其他未修改的環境)上嘗試您的代碼。您也可以考慮嘗試使用已知的working code

相關問題