Android10:contentResolver.delete()无法从文件系统中删除文件
创始人
2024-08-20 08:00:04
0

在Android 10及更高版本中,使用contentResolver.delete()方法删除文件可能无法从文件系统中删除文件。这是因为Android 10及更高版本对于应用程序对共享存储的访问进行了更严格的限制。为了在Android 10及更高版本中删除文件,需要使用Storage Access Framework(SAF)。

以下是一个示例代码,演示如何通过SAF删除文件:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    ContentResolver resolver = context.getContentResolver();
    Uri uri = MediaStore.Downloads.EXTERNAL_CONTENT_URI;
    String selection = MediaStore.Downloads.TITLE + "=?";
    String[] selectionArgs = new String[]{fileName};
    Cursor cursor = resolver.query(uri, null, selection, selectionArgs, null);
    if (cursor != null && cursor.moveToFirst()) {
        long id = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Downloads._ID));
        Uri contentUri = ContentUris.withAppendedId(uri, id);
        resolver.delete(contentUri, null, null);
        cursor.close();
        return true;
    }
} else {
    // Use contentResolver.delete() for older Android versions
    // ...
}

在Android Q及更高版本中,您需要执行以下步骤:

  • 获取ContentResolver
  • 获取MediaStore.Downloads.EXTERNAL_CONTENT_URI(或其他所需的URI)
  • 决定要删除哪个文件,并使用MediaStore.Downloads.TITLE在Uri上执行查询
  • 如果查询返回结果,则从Cursor获取_id,并使用ContentUris.withAppendedId()获取对应的Uri
  • 使用ContentResolver.delete()删除文件

对于旧版本的Android,可以继续使用contentResolver.delete()方法删除文件。

相关内容

热门资讯

发现一款!决战加血辅助,菠萝德... 您好:决战加血辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
分享实测!陕西辅助,德州透视脚... 您好,陕西辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏...
今日百科!超级三加一辅助,we... 今日百科!超级三加一辅助,wepoker新号好一点吗,必胜教程(有挂细节);一、超级三加一辅助AI软...
科技揭秘!四川途游小程序辅助,... 科技揭秘!四川途游小程序辅助,hh poker插件下载,透牌教程(有挂教学);详细四川途游小程序辅助...
来一盘!微信小程序透视挂,we... 来一盘!微信小程序透视挂,wepoker黑侠辅助器,德州教程(确实有挂);致您一封信;亲爱微信小程序...
总算了解!爱玩联盟辅助软件视频... 总算了解!爱玩联盟辅助软件视频讲解,破解辅助插件wepoker,揭秘攻略(真的有挂);大家肯定在之前...
每日必看教程!途游手游辅助,p... 每日必看教程!途游手游辅助,pokemmo脚本辅助器,透明教程(有挂教程);人气非常高,ai更新快且...
分享一款!蜀山四川麻亲友房祈福... 分享一款!蜀山四川麻亲友房祈福,竞技联盟辅助插件,辅助教程(存在有挂)是一款可以让一直输的玩家,快速...
分享开挂内幕!胡乐辅助脚本,w... 您好,胡乐辅助脚本这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款...
总算清楚!广西老友玩有破解视频... 总算清楚!广西老友玩有破解视频,we-poker辅助软件教程,wepoke教程(有挂存在);1、这是...