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()方法删除文件。

相关内容

热门资讯

黑科技科技(wepoke智能a... 黑科技科技(wepoke智能ai)wepower使用说明书(wepOkE)素来是真的有挂(确实有挂)...
黑科技模拟器(wepoke智能... WePoker透视辅助工具核心要点解析‌,黑科技模拟器(wepoke智能ai)wepoke是机器发牌...
黑科技脚本(wepokeai代... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏中打牌都...
黑科技辅助挂(wepoke真的... 黑科技辅助挂(wepoke真的有挂)wepoke 软件(wEPOKE)固有真的有挂(有挂猫腻)-哔哩...
黑科技辅助挂(wepoke黑科... 黑科技辅助挂(wepoke黑科技)wepoke软件透明挂演示(wEpOke)一直真的有挂(真的有挂)...
黑科技app(wepoke真的... 此外,数据分析德州()辅助神器app还具备辅助透视行为开挂功能,通过对客户透明挂的深入研究,你可以了...
黑科技智能ai(wepoke辅... 黑科技智能ai(wepoke辅助插件)wepoke软件透明(WEPOke)先前是有挂(果真有挂)-哔...
黑科技模拟器(wepoke透明... 黑科技模拟器(wepoke透明黑科技)wepoke德州扑克用ai代打(WEPOKE)最初存在有挂(有...
黑科技插件(wepoke辅助插... 黑科技插件(wepoke辅助插件)wepoke软件透明(WEPOke)从来是真的有挂(有挂解惑)-哔...
黑科技美元局(wepoke智能... 黑科技美元局(wepoke智能ai)wepoke辅助真的假的(wepoKE)原先真的有挂(竟然有挂)...