Android - 创建文件适用于 Android 5 但不适用于 Android 6 或更高版本

约翰

我有一个简单的方法可以在 Android 的下载文件夹中创建一个文件夹。它在 Android 5 中运行良好,但在 Android 6 或更高版本(我使用 Android 6 和 8 进行测试)中,未创建文件夹。

有什么改变吗?

这是我的方法,正如我所说,它是一个简单的创建文件夹功能。但它不适用于 Android 6 或更高版本,仅适用于 Android 5。

public void exportaTabelas(SQLiteDatabase db, String tableName) {
        try {
            // Query the data in the table
            Cursor cursor = db.rawQuery("SELECT * FROM " + tableName, null);

            //File exportDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

            exportDir = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/ENEL/");
            if (!exportDir.exists())
            {
                exportDir.mkdirs();
            }

            File file = new File(exportDir, tableName +".csv");
            file.createNewFile();

            //CSVWriter csvWriter = new CSVWriter(new FileWriter(file));
            CSVWriter csvWriter = new CSVWriter(new FileWriter(file.getAbsoluteFile(), true));

            // Write the table data to the file
            csvWriter.writeNext(cursor.getColumnNames());
            while(cursor.moveToNext()) {
                String arrStr[] = { cursor.getString(0), cursor.getString(1) };
                csvWriter.writeNext(arrStr);
            }

            // close cursor and writer
            cursor.close();
            csvWriter.close();

        } catch (Exception e) {
            // handle exception
            Log.e("MainActivity", e.getMessage(), e);
        }

        Toast.makeText(this, "ARQUIVO CSV GERADO!", Toast.LENGTH_SHORT).show();
    }
赖哈努尔

我假设你有问题permission

安卓5.1.1及以下使用安装时的权限,这样一个<uses-permission ...>manifest文件是不够的。检查这个

但是对于 5.1.1 以上的 Android,您需要<uses-permission ...>在清单中并在运行时请求用户许可。检查这个

Android 开发者文档站点是您最好的选择!

PS:您应该在问题中包含任何错误消息,例如在try catch块中捕获并记录到 Android Studio IDE 中的 Logcat 的任何错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AlarmManager setInexactRepeating不适用于Android 4.1.2,适用于Android 4.3及更高版本

来自分类Dev

使用适用于 android 6 及更高版本的 appcelerator 将数据保存在 SD 卡中

来自分类Dev

适用于4.0和更高版本的Android Tab图标

来自分类Dev

Svelte应用程序不适用于Android 6.0.1或更高版本

来自分类Dev

Android WorkManager 使用调试版本但不适用于发布版 APK

来自分类Dev

Ionic-开机画面适用于iOS,但不适用于Android

来自分类Dev

Android Studio项目适用于Lollipop,但不适用于Kitkat

来自分类Dev

Google Maps适用于Android Release APK,但不适用于AAB

来自分类Dev

样式参考适用于UWP,但不适用于Android或Wasm

来自分类Dev

window.open(“ sms:...”)适用于android,但不适用于ios

来自分类Dev

代码适用于Java,但不适用于Android

来自分类Dev

Android:代码适用于 api 19 但不适用于 api 24

来自分类Dev

Android 设备的 autoGrantPermissions 适用于 Windows、Linux,但不适用于 OSX

来自分类Dev

wcf https 适用于我的本地电脑,但不适用于 android

来自分类Dev

Android 谷歌地图适用于模拟器,但不适用于真机

来自分类Dev

$ http呼叫不适用于Ionic Android版本

来自分类Dev

Firebase 登录不适用于较低的 android 版本

来自分类Dev

React Native Android:请求适用于 android 模拟器,但不适用于 Play Store 构建

来自分类Dev

onCheckedChangeListener不适用于Android Studio

来自分类Dev

UtteranceProgressListener不适用于Android TTS

来自分类Dev

ListView onItemClickListener不适用于Android

来自分类Dev

setOnTouchListener不适用于android Fragment

来自分类Dev

findFirstVisibleItemPositions不适用于recycleview android

来自分类Dev

Xamarin部署不适用于Android

来自分类Dev

Android <include>不适用于ViewBinding

来自分类Dev

Android主题不适用于活动

来自分类Dev

Android SImpleDateFormat不适用于“ yyyy -...”

来自分类Dev

Android setText不适用于scrollview

来自分类Dev

Android Clickable不适用于ListView

Related 相关文章

  1. 1

    AlarmManager setInexactRepeating不适用于Android 4.1.2,适用于Android 4.3及更高版本

  2. 2

    使用适用于 android 6 及更高版本的 appcelerator 将数据保存在 SD 卡中

  3. 3

    适用于4.0和更高版本的Android Tab图标

  4. 4

    Svelte应用程序不适用于Android 6.0.1或更高版本

  5. 5

    Android WorkManager 使用调试版本但不适用于发布版 APK

  6. 6

    Ionic-开机画面适用于iOS,但不适用于Android

  7. 7

    Android Studio项目适用于Lollipop,但不适用于Kitkat

  8. 8

    Google Maps适用于Android Release APK,但不适用于AAB

  9. 9

    样式参考适用于UWP,但不适用于Android或Wasm

  10. 10

    window.open(“ sms:...”)适用于android,但不适用于ios

  11. 11

    代码适用于Java,但不适用于Android

  12. 12

    Android:代码适用于 api 19 但不适用于 api 24

  13. 13

    Android 设备的 autoGrantPermissions 适用于 Windows、Linux,但不适用于 OSX

  14. 14

    wcf https 适用于我的本地电脑,但不适用于 android

  15. 15

    Android 谷歌地图适用于模拟器,但不适用于真机

  16. 16

    $ http呼叫不适用于Ionic Android版本

  17. 17

    Firebase 登录不适用于较低的 android 版本

  18. 18

    React Native Android:请求适用于 android 模拟器,但不适用于 Play Store 构建

  19. 19

    onCheckedChangeListener不适用于Android Studio

  20. 20

    UtteranceProgressListener不适用于Android TTS

  21. 21

    ListView onItemClickListener不适用于Android

  22. 22

    setOnTouchListener不适用于android Fragment

  23. 23

    findFirstVisibleItemPositions不适用于recycleview android

  24. 24

    Xamarin部署不适用于Android

  25. 25

    Android <include>不适用于ViewBinding

  26. 26

    Android主题不适用于活动

  27. 27

    Android SImpleDateFormat不适用于“ yyyy -...”

  28. 28

    Android setText不适用于scrollview

  29. 29

    Android Clickable不适用于ListView

热门标签

归档