17

ダウンロード マネージャーを使用しています。

 setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS, "example.ext");

ファイルは Android/data/com.example.app/files/Download フォルダーにダウンロードされます。

やってみると

setDestinationInExternalPublicDir("/folder", "example.ext");

私は得る: IllegalStateException: Cannot create directory mnt/sdcard/folder. WRITE_EXTERNAL_STORAGE パーミッションも設定しました。

私は何を間違っていますか?

4

5 に答える 5

1

使用するrequest.setDestinationInExternalPublicDir("/folder", "FileName.extention");

これは私のために働いた..

于 2013-10-31T10:56:15.073 に答える
0

のような許可を確認してください

//リージョン [許可]

public static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 123;
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public static boolean CheckPermission(final Context context){
    int currentAPIVersion = Build.VERSION.SDK_INT;
    if( currentAPIVersion >= Build.VERSION_CODES.M){
        if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.READ_EXTERNAL_STORAGE)) {
                AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
                alertBuilder.setCancelable(true);
                alertBuilder.setTitle("Permission necessary");
                alertBuilder.setMessage("External storage permission is necessary");
                alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
                    public void onClick(DialogInterface dialog, int which) {
                        ActivityCompat.requestPermissions((Activity) context,
                                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
                    }
                });
                AlertDialog alert = alertBuilder.create();
                alert.show();
            } else {
                ActivityCompat.requestPermissions((Activity) context,
                        new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
            }
            return false;
        } else {
            return true;
        }
    } else {
        return true;
    }
}

//endregion
于 2018-07-31T14:03:29.153 に答える