Android Q和R的文件权限限制适用于NDK代码吗?
创始人
2024-08-15 03:00:08
0

从Android Q开始,引入了一些限制文件访问权限的变化,这也适用于NDK代码。具体来说,Android Q引入了Scoped Storage,它限制了应用对外部存储的直接访问,而是通过媒体存储库或应用特定目录来访问文件。

如果你的NDK代码需要访问外部存储的文件,可以使用以下方法:

  1. 使用媒体存储库访问文件: Android Q提供了媒体存储库来访问共享的媒体文件,例如照片、视频和音频文件。你可以使用MediaStore API来查询和读取这些文件。以下是一个示例代码:
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME};
String selection = MediaStore.Images.Media.DATA + " like ?";
String[] selectionArgs = new String[]{"%my_image.jpg%"};
String sortOrder = MediaStore.Images.Media.DATE_MODIFIED + " DESC";

Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);
if (cursor != null && cursor.moveToFirst()) {
    String fileName = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DISPLAY_NAME));
    // 根据文件名读取文件内容或进行其他操作
    cursor.close();
}
  1. 使用应用特定目录访问文件: Android Q为每个应用提供了一个私有目录,应用可以在该目录下自由读写文件。你可以使用Context.getExternalFilesDir()方法获取应用的私有目录,并在该目录下读写文件。以下是一个示例代码:
File file = new File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "my_file.txt");
try {
    FileInputStream fis = new FileInputStream(file);
    // 读取文件内容或进行其他操作
    fis.close();
} catch (IOException e) {
    e.printStackTrace();
}

需要注意的是,以上方法仅适用于Android Q及以上的版本。对于较早的Android版本,可以继续使用传统的文件访问方式。

相关内容

热门资讯

黑科技脚本!来玩德州app服务... 黑科技脚本!来玩德州app服务器在哪里(wepoke智能ai)一向有挂(有挂细节)-哔哩哔哩1、用户...
黑科技线上!aapoker挂(... 黑科技线上!aapoker挂(德州ai辅助神器软件)总是是真的有挂(有挂讲解)-哔哩哔哩1、完成德州...
黑科技挂!wepoke辅助技巧... 黑科技挂!wepoke辅助技巧(wepoke有没有挂)一向真的是有挂(有挂猫腻)-哔哩哔哩;一、we...
黑科技科技!gg扑克实战(we... 黑科技科技!gg扑克实战(wepoke黑科技)最初是真的有挂(竟然有挂)-哔哩哔哩1、金币登录送、破...
黑科技系统!德州之星辅助软件(... 黑科技系统!德州之星辅助软件(wepoke黑科技)先前真的是有挂(有挂技术)-哔哩哔哩1、任何德州a...
黑科技线上!德扑之星辅助器(德... 黑科技线上!德扑之星辅助器(德州ai软件购买)切实是有挂(有挂存在)-哔哩哔哩1、不需要AI权限,帮...
黑科技app!aapokera... 黑科技app!aapokerai辅助(德扑ai机器人软件开发)原来真的是有挂(有挂技术)-哔哩哔哩;...
黑科技辅助挂!德扑ai智能(德... 1、黑科技辅助挂!德扑ai智能(德州辅助神器软件)原本真的是有挂(新版有挂)-哔哩哔哩;详细教程。2...
黑科技挂!微扑克有辅助挂(aa... 黑科技挂!微扑克有辅助挂(aapoker发牌机制)原生存在有挂(有挂方针)-哔哩哔哩1、玩家可以在a...
黑科技有挂!aa扑克外挂(微扑... 黑科技有挂!aa扑克外挂(微扑克透牌)从前有挂(有挂细节)-哔哩哔哩,亲,有的,ai轻松简单,又可以...