我想将文件从我的 url 下载并保存到 Android 10 中的外部存储下载目录。我已使用此代码进行下载。
public void StartNewDownload(String url) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("Downloading Profile");
request.setTitle("Abc App");
request.setDestinationInExternalPublicDir(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)+ File.separator, "parag.jpeg");
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
final long downloadId = manager.enqueue(request);
}
Run Code Online (Sandbox Code Playgroud)
它显示错误
E/AndroidRuntime:致命异常:主进程:com.example.abc,PID:15197
Run Code Online (Sandbox Code Playgroud)java.lang.IllegalStateException: Not one of standard directories: /storage/emulated/0/Download/ at android.os.Parcel.createException(Parcel.java:2079) at android.os.Parcel.readException(Parcel.java:2039) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140) at android.content.ContentProviderProxy.call(ContentProviderNative.java:658) at android.content.ContentProviderClient.call(ContentProviderClient.java:558) at android.content.ContentProviderClient.call(ContentProviderClient.java:546) at android.app.DownloadManager$Request.setDestinationInExternalPublicDir(DownloadManager.java:569) at com.example.abc.Activity.showDetails.StartNewDownload(showDetails.java:102) at com.example.abc.Activity.showDetails$1.onClick(showDetails.java:68)
但如果我使用
request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS+ File.separator , "parag.jpeg");
Run Code Online (Sandbox Code Playgroud)
这会下载文件,但在我的应用程序特定文件夹中,但我想在外部公共下载目录中下载文件
通常我们可以从 Gradle(在 Android Studio 的右侧)> Task > Android >signingReport SHA 证书指纹
但是在 Android Studio 最新更新 4.2.1 中,任务没有显示获取 SHA 指纹的选项
任何人都可以帮助我吗?