Intereting Posts
Отредактируйте AndroidManifest при компиляции для удаления API-ключа Android: Как полностью убить службу, выполняемую отдельно как фоновый процесс? Android pull-to-refresh показывает нижний колонтитул загрузки при запуске Выключить фрагменты программным путем TextView получает разрез в некоторых разрешениях Полностью прозрачная строка состояния и панель навигации на леденец Google Maps v2 центрирует и поворачивает положение камеры в соответствии с двумя маркерами Получить ActionBarSherlock actionBarSize в Android 2.x Сбор андроидного датчика на определенный период и вычисление среднего Асимметричное несоответствие шифрования – Android против Java Android Сенсорный экран IDC Добавление сервисов Google Play в Android Studio с использованием Gradle Как определить допустимый тип интерфейса в файле .aidl? Как проигрывать потоковое аудио в фоновом режиме на Android? Android recyclerview не отображает элементы

После обновления до Android 6.0 сбой базы данных SQLite

Я использую этот код для работы с SQLite.

Перед тем, как я обновляюсь до android 6.0, он работает отлично, но теперь он сбой.

В классе MyParam

public static SQLiteDatabase dbMyCount; public static String DB_Path_MyCount = "/sdcard/GMS/MyCount.db"; 

По MainActivity

 MyParam.dbMyCount = this.openOrCreateDatabase(MyParam.DB_Path_MyCount, MODE_WORLD_WRITEABLE, null); SQL = "CREATE TABLE IF NOT EXISTS MyCount(_id INTEGER PRIMARY KEY AUTOINCREMENT,Tdate VARCHAR,Cust VARCHAR,"; SQL += "Prog VARCHAR,CustCode VARCHAR,OpenCode VARCHAR,Memo VARCHAR)"; MyParam.dbMyCount.execSQL(SQL); 

Я также обновил свой манифест для этого:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

Но все же появилась ошибка:

Код ошибки: 1294 (SQLITE_CANTOPEN_ENOENT) Caused By: Указанный каталог или файл базы данных не существует. (Неизвестная ошибка (код 1294): не удалось открыть базу данных)

Я искал в Интернете и не нашел ответа или решения.

Благодарю.

Пожалуйста, следуйте рекомендациям CommonsWare. Но также для marshmallow ie android 6.0 и выше вам нужно попросить разрешения времени выполнения. Пожалуйста, ознакомьтесь с приведенной ниже ссылкой.

http://developer.android.com/training/permissions/requesting.html

Только указание в манифесте недостаточно в соответствии с новыми разрешениями runtime для Android.