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

相关内容

热门资讯

黑科技辅助!wepoke软件靠... 您好,wepoke软件靠谱这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
黑科技辅助!wepoke插件,... 黑科技辅助!wepoke插件,(WePoKe有规律)原来真的有挂,辅助教程(有挂透视)-哔哩哔哩是一...
黑科技辅助!wepoke黑科技... 黑科技辅助!wepoke黑科技是啥,(wepoke德州扑克)原来真的有挂,详细教程(有挂分享)-哔哩...
一分钟了解!gg扑克有假,(扑... 一分钟了解!gg扑克有假,(扑克时间)原来真的有挂,软件教程(了解有挂)-哔哩哔哩;一分钟了解!gg...
黑科技辅助!wepoke私人局... 您好,wepoke私人局有挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
科普攻略!微扑克辅牌器,(新微... 科普攻略!微扑克辅牌器,(新微扑克)原来真的有挂,可靠技巧(有挂解惑)-哔哩哔哩是一款可以让一直输的...
黑科技辅助!wepoke有辅助... 黑科技辅助!wepoke有辅助软件,(WePoKe能胜)原来真的有挂,必胜教程(有挂详情)-哔哩哔哩...
黑科技辅助!wepoke软件透... 黑科技辅助!wepoke软件透明挂合法,(WePoKe胜率)原来真的有挂,系统教程(有挂规律)-哔哩...
黑科技辅助!WePoKe透明挂... 您好:WePoKe透明挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
分享个大家!云扑克是否有外挂,... 分享个大家!云扑克是否有外挂,(云扑克软件)原来真的有挂,新2025版(真实有挂)-哔哩哔哩是一款可...