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)咨询了解微扑克开挂辅助下载辅助器目前(微信:1367...
开挂辅助工具"wep... 开挂辅助工具"wepoker破解版内购"开挂(透视)辅助下载(有挂技巧);无需打开直接搜索加(薇:1...
开挂辅助插件"wep... 开挂辅助插件"wepoker软件靠谱么"开挂(透视)辅助软件(详细教程);无需打开直接搜索加(薇:1...
玩家必用“WePoker玩家总... 您好,WePoker玩家总结这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
开挂辅助工具"德普之... 【亲,德普之星透视辅助软件激活码 这款游戏可以开挂的,确实是有挂的,很多玩家在这款德普之星透视辅助软...
教程攻略“微乐扑克怎么才能赢得... >>>您好:,软件加微信【添加136704302】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
开挂辅助安装"wep... 开挂辅助安装"wepoker辅助视频"开挂(透视)辅助软件(有挂教程);无需打开直接搜索加薇1367...
玩家必看科普“wepoker有... 您好,wepoker有挂吗透视知乎这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302...
开挂辅助工具"wep... 开挂辅助工具"wepoker透视底牌脚本"开挂(透视)辅助工具(有挂实锤)您好:wepoker透视底...
详细说明“WePOKer有没有... WePOKer有没有透视方法是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用...