私のアンドロイドアプリで。誰かがファイルをダウンロードしようとすると、ストレージのアクセス許可を求める必要があります。許可されている場合、ファイルのダウンロードが開始されます。 次回は許可が既に与えられている場合は、新しいダウンロードを開始してください。ファイルをダウンロードし、アンドロイドでstorgeの許可を求める
ユーザーが許可アプリのクラッシュを拒否した場合: は、ここでは、このコードで
public void downloadFile(String url) {
Uri source = Uri.parse(url);
// Make a new request pointing to the download url
DownloadManager.Request request = new DownloadManager.Request(source);
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
String fileExtension = MimeTypeMap.getFileExtensionFromUrl(url);
String fileName = URLUtil.guessFileName(url, null, fileExtension);
// save the file in the "Downloads" folder of SDCARD
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
// get download service and enqueue file
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("?dl=1")) {
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
downloadFile(url);
} else {
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_WRITE_EXTERNAL_STORAGE);
}
return true;
}
問題がある...私のコードの一部です。
ユーザーが最初のアクセス許可を許可すると、ダウンロードはすぐに開始されません。ユーザーはダウンロードリンクを再度クリックする必要があります。
**完璧ではありません**答えられる質問はありません。 logcatと一緒にエラー/非必要な動作を記述します。 –
こんにちは、私は質問を更新しました。ありがとう。 – baalal
アクセス許可を確認する:developer.android.com/training/permissions/requesting.html –