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版本,可以继续使用传统的文件访问方式。

相关内容

热门资讯

透视讲解!uupoker有透视... 透视讲解!uupoker有透视吗,pokemmo脚本辅助器下载(其实是真的有挂)在进入pokemmo...
透视了解!aapoker发牌逻... 透视了解!aapoker发牌逻辑(透视)万能辅助器(一贯存在有挂)1、实时aapoker发牌逻辑开挂...
透视系统!德州私人局怎么透视,... 透视系统!德州私人局怎么透视,cloudpoker作弊(真是存在有挂)一、德州私人局怎么透视AI软件...
透视美元局!aapoker脚本... 透视美元局!aapoker脚本(透视)透视软件(一贯真的是有挂)1、超多福利:超高返利,海量正版游戏...
透视数据!智星菠萝有挂吗,竞技... 透视数据!智星菠萝有挂吗,竞技联盟辅助(果然有挂);1、智星菠萝有挂吗ai辅助优化,智星菠萝有挂吗发...
透视了解!aapoker辅助怎... 透视了解!aapoker辅助怎么用(透视)插件(切实真的是有挂)1、首先打开aapoker辅助怎么用...
透视辅助!pokemmo辅助器... 透视辅助!pokemmo辅助器,哈糖大菠萝有挂吗5个常用方法(一直有挂)1、起透看视 哈糖大菠萝有挂...
透视辅助!aapoker插件下... 透视辅助!aapoker插件下载(透视)发牌逻辑(其实真的有挂)1、点击下载安装,aapoker插件...
透视教程!poker红龙辅助,... 透视教程!poker红龙辅助,epoker底牌透视(果然真的有挂)1、让任何用户在无需epoker底...
透视ai代打!aapoker怎... 透视ai代打!aapoker怎么拿好牌(透视)透视脚本下载(都是真的是有挂);1、透视ai代打!aa...