无法在指定设备上打开数据库

问题描述

在我的应用程序中,使用以下代码打开数据库

private final static String DB_NAME = "db_dates";

public void openDataBase() throws sqlException {
    String myPath = context.getDatabasePath(DB_NAME).toString();
    File dbfile = new File(myPath);
    if( dbfile.exists()) {
        db = sqliteDatabase.openDatabase(myPath,null,sqliteDatabase.OPEN_READWRITE);
    } else {
        try {
            copyDataBase();
        } catch (IOException e) {
            e.printstacktrace();
        }
    }
}

清单中有:

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

在几乎所有设备上,除华为设备外,我的代码都能完美运行。对于他们,我会收到下一条错误消息:

CantOpenDatabaseException: unkNown error (sqlite code 14 sqlITE_CANTOPEN): Could not open database,(OS error - 2:No such file or directory)

谁知道这些设备上的数据库路径是否不同?还是需要他人权限?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)