这是我的代码和下面的错误。我在日志中收到错误,指出无法创建外部文件目录。
String downloadURL = getString(R.string.download_URL);
Uri uri = Uri.parse(downloadURL);
DownloadManager.Request request = new Request(uri);
request.setAllowedNetworkTypes(Request.NETWORK_WIFI | Request.NETWORK_MOBILE);
request.setAllowedOverRoaming(false);
request.setTitle("Android Jelly Bean's Pic Download");
request.setDescription("Android Jelly Beans Pic Download using Download Manager");
request.setDestinationInExternalFilesDir(getApplicationContext(),
Environment.DIRECTORY_DOWNLOADS, "abc.png");
downloadReference = dm.enqueue(request);
有错误的行是
request.setDestinationInExternalFilesDir(getApplicationContext(),
Environment.DIRECTORY_DOWNLOADS,“abc.png”);
12-05 18:51:55.436: W/ApplicationContext(1049): Unable to create external files directory
12-05 18:51:55.436: D/AndroidRuntime(1049): Shutting down VM
12-05 18:51:55.446: W/dalvikvm(1049): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
12-05 18:51:55.476: E/AndroidRuntime(1049): FATAL EXCEPTION: main
12-05 18:51:55.476: E/AndroidRuntime(1049): java.lang.NullPointerException: file
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.net.Uri.fromFile(Uri.java:441)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.app.DownloadManager$Request.setDestinationFromBase(DownloadManager.java:504)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.app.DownloadManager$Request.setDestinationInExternalFilesDir(DownloadManager.java:466)
12-05 18:51:55.476: E/AndroidRuntime(1049): at com.example.downloadmanagerapplication.DownloadManagerActivity.startDownload(DownloadManagerActivity.java:93)
12-05 18:51:55.476: E/AndroidRuntime(1049): at com.example.downloadmanagerapplication.DownloadManagerActivity$1.onClick(DownloadManagerActivity.java:115)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.view.View.performClick(View.java:3480)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.view.View$PerformClick.run(View.java:13983)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.os.Handler.handleCallback(Handler.java:605)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.os.Handler.dispatchMessage(Handler.java:92)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.os.Looper.loop(Looper.java:137)
12-05 18:51:55.476: E/AndroidRuntime(1049): at android.app.ActivityThread.main(ActivityThread.java:4340)
12-05 18:51:55.476: E/AndroidRuntime(1049): at java.lang.reflect.Method.invokeNative(Native Method)
12-05 18:51:55.476: E/AndroidRuntime(1049): at java.lang.reflect.Method.invoke(Method.java:511)
12-05 18:51:55.476: E/AndroidRuntime(1049): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-05 18:51:55.476: E/AndroidRuntime(1049): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-05 18:51:55.476: E/AndroidRuntime(1049): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:11)
为了将数据保存/写入文件或创建/删除目录,您必须设置" usage" manifest
文件中的权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
答案 1 :(得分:0)
你可以尝试类似的东西:
A
而不是:
dotnet msbuild