Android11如何让应用程序有读写SD卡/Android/someapp目录的权限?
创始人
2024-08-20 11:00:41
0

在Android 11中,应用程序默认无法读写SD卡/Android/someapp目录。若需要访问该目录,需要利用媒体存储库(MediaStore)来进行文件I/O操作。以下是一个简单的代码示例:

private static final String RELATIVE_DIRECTORY = "/someapp/"; // 相对目录名
private static final String MIME_TYPE_TEXT = "text/plain"; // 文件类型

// 获取sdcard/Android/someapp目录
public static File getExternalStorageDirectory(Context context) {
    File file;
    if (context.getExternalMediaDirs().length > 0) {
        // 检查应用程序目录是否存在
        file = new File(context.getExternalMediaDirs()[0], RELATIVE_DIRECTORY);
        if (!file.exists()) {
            if (!file.mkdirs()) {
                Log.e(TAG, "getExternalStorageDirectory: failed to create directory");
                return null;
            }
        }
    } else {
        Log.e(TAG, "getExternalStorageDirectory: external media dirs length <= 0");
        file = context.getExternalFilesDir(null);
    }
    return file;
}

// 写入文件内容到sdcard/Android/someapp目录
public static boolean writeFileToExternalStorage(Context context, String fileName, String content){
    File file = new File(getExternalStorageDirectory(context), fileName);
    try {
        FileWriter writer = new FileWriter(file, false);
        writer.write(content);
        writer.flush();
        writer.close();
        return true;
    } catch (IOException e) {
        Log.e(TAG, "writeFileToExternalStorage: failed to write file", e);
        return false;
    }
}

// 读取文件内容从sdcard/Android/someapp目录
public static String readFileFromExternalStorage(Context context, String fileName){
    File file = new File(getExternalStorageDirectory(context), fileName);
    try {
        BufferedReader reader = new BufferedReader(new FileReader(file));
        StringBuilder content = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            content.append(line).append("\n");
        }
        reader.close();
        return content.toString

相关内容

热门资讯

1分钟透视!微信雀神挂件辅助器... 1分钟透视!微信雀神挂件辅助器,欢乐达人暗宝源码(实测教程开挂辅助插件)>>您好:软件加薇13670...
第八分钟辅助!边锋干瞪眼ios... 第八分钟辅助!边锋干瞪眼ios辅助微信,决胜辅助(一分钟带你了解开挂辅助工具);无需打开直接搜索薇:...
第8分钟辅助!wepoker免... 第8分钟辅助!wepoker免费透视脚本,途游辅助器(重大通报开挂辅助神器);无需打开直接搜索加(薇...
第四分钟开挂!微信小程序辅助a... 第四分钟开挂!微信小程序辅助app下载,决战卡五星辅助软件(盘点十款开挂辅助工具);无需打开直接搜索...
第6分钟透视!多乐够级辅助,大... 第6分钟透视!多乐够级辅助,大菠萝免费辅助(最新技巧开挂辅助下载);无需打开直接搜索微信(13670...
五分钟开挂!佛手在线破解,牛总... 五分钟开挂!佛手在线破解,牛总管辅助免费版(重要通知开挂辅助软件);无需打开直接搜索加(薇:1367...
9分钟辅助!枫叶辅助器,茶馆游... 您好:茶馆游戏辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
第六分钟辅助!小逸碰胡科技,鄱... 小逸碰胡科技开挂教程视频分享装挂详细步骤在当今的网络游戏中,小逸碰胡科技作为一种经典的娱乐方式,吸引...
4分钟透视!陕西微乐挖坑控制器... 4分钟透视!陕西微乐挖坑控制器,科乐填大坑辅助码(透视教学开挂辅助神器);无需打开直接搜索打开薇:1...
7分钟辅助!江西微乐南昌有辅助... 7分钟辅助!江西微乐南昌有辅助,四川家园游戏辅助(总算了解开挂辅助工具)1、下载安装好江西微乐南昌有...