Android 4返回空下载文件夹

Android 4返回空下载文件夹,android,android-download-manager,download-manager,android-4.1-jelly-bean,Android,Android Download Manager,Download Manager,Android 4.1 Jelly Bean,我正在使用DownloadManager下载文件并保存在内部存储上我的应用程序上下文文件夹的downloads文件夹内的文件夹中,这在Android 6中运行良好,但在Android 4中,路径返回null。 此代码在android 6中有效,但在android 4中无效 File p = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS); 我有零钱,可以用了 File p = getApp

我正在使用DownloadManager下载文件并保存在内部存储上我的应用程序上下文文件夹的downloads文件夹内的文件夹中,这在Android 6中运行良好,但在Android 4中,路径返回null。 此代码在android 6中有效,但在android 4中无效

File p = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
我有零钱,可以用了

File p = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
if(p == null){
    p = getApplicationContext().getDir(Environment.DIRECTORY_DOWNLOADS, MODE_PRIVATE);
}
我的问题是在DownloadManager中,当我使用以下代码时,会出现NullPointerReference

req.setDestinationInExternalFilesDir(getApplicationContext(), Environment.DIRECTORY_DOWNLOADS + "/viewer", fileName);
有人能帮我吗

编辑

这是堆栈跟踪

FATAL EXCEPTION: main
java.lang.NullPointerException: file
at android.net.Uri.fromFile(Uri.java:441)
at android.app.DownloadManager$Request.setDestinationFromBase(DownloadManager.java:508)
at android.app.DownloadManager$Request.setDestinationInExternalFilesDir(DownloadManager.java:470)
at br.com.digitaldoc.ddv4.activities.MainActivity$7.onClick(MainActivity.java:405)
at android.support.v7.app.AlertController$AlertParams$3.onItemClick(AlertController.java:958)
at android.widget.AdapterView.performItemClick(AdapterView.java:298)
at android.widget.AbsListView.performItemClick(AbsListView.java:1088)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2861)
at android.widget.AbsListView$1.run(AbsListView.java:3535)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
这一行MainActivity.java:405是

req.setDestinationInExternalFilesDir(getApplicationContext(), Environment.DIRECTORY_DOWNLOADS + "/viewer", fileName);

DIRECTORY\u DOWNLOADS
不是其中之一,因此您可能会遇到问题。考虑使用另一个,或者干脆
null
。感谢您的回答,我的主要问题是SetDestinationNexternalFilesDir中的DownloadManager,我已尝试设置另一个值,并且已经存在NullPointerException。还有其他方法可以设置路径或其他解决方案吗?请发布与
NullPointerException
关联的Java堆栈跟踪。req not为null。我已经用堆栈跟踪编辑了这个问题。