小编Dev*_*hah的帖子

如何删除 Android 10 范围存储中的图像(媒体存储条目和文件)

当我尝试删除我的应用程序贡献/拥有的图像时,它可以轻松删除。但对于我的应用程序不拥有的图片文件夹内的共享媒体,我通过捕获 向用户显示提示RecoverableSecurityException。但即使在ALLOWING之后,我也无法删除该特定图像文件。

这是我正在使用的代码,请指出我做错了什么。

  • 删除后,图像不会出现在图库或我的应用程序中,但它保留在文件管理器中,并在手机重新启动后重新出现在图库中(我猜只有 MediaStore 条目被删除)
  • 该代码适用于 Android 11 设备。
  • 结果startIntentSenderForResult(intentSender, 12, null, 0, 0, 0, null);RESULT_OK

用于获取文件:(此代码位于“我的活动”中)

   try {
            String DIRECTORY_NAME = "%Pictures/App_Name%";
            String selection = MediaStore.MediaColumns.RELATIVE_PATH + " like ? ";
            String[] selectionArgs = new String[]{DIRECTORY_NAME};
            ContentResolver contentResolver = this.getContentResolver();
            Cursor cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, selection, selectionArgs, null);

            while(cursor.moveToNext()){
                long id = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID));
                Uri contentUri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id);

                uriArrayList.add(contentUri);

            }
            cursor.close();
        }
        catch (Exception e){
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

对于删除图像文件:(此代码位于我的适配器类中)

    try {
    ContentResolver …
Run Code Online (Sandbox Code Playgroud)

android android-contentresolver android-studio android-10.0 scoped-storage

6
推荐指数
1
解决办法
3000
查看次数