Sqlite插入在android 6.0下无法(安静地)工作

Sqlite插入在android 6.0下无法(安静地)工作,android,sqlite,insert,android-sqlite,Android,Sqlite,Insert,Android Sqlite,对不起我的英语,我是谷歌翻译的追随者 奇怪的行为完全是陈词滥调。在android低于6.0的设备上,它可以正常工作。使用API23在模拟器上工作。但是在安卓6.0的真实设备上(在几种不同型号上),插入的数据无法读回 try { long insertResult = db.insert(ibLocalBase.Tables.PhotoHeaders.TableName, null, valuesHeaders); insertResul

对不起我的英语,我是谷歌翻译的追随者

奇怪的行为完全是陈词滥调。在android低于6.0的设备上,它可以正常工作。使用API23在模拟器上工作。但是在安卓6.0的真实设备上(在几种不同型号上),插入的数据无法读回

      try {
            long insertResult = db.insert(ibLocalBase.Tables.PhotoHeaders.TableName, null, valuesHeaders);
            insertResult = db.insert(ibLocalBase.Tables.PhotoBodies.TableName, null, valuesBodies);

            db.setTransactionSuccessful();

        } finally {
            db.endTransaction();
        }
交易成功。insertResult具有很好的值(相同)。
但稍后-我可以在照片头中获取数据,但在照片体中什么也得不到。桌子是空的!仅适用于android 6.0设备

尝试使用SQL命令,而不是:

db.execSQL("insert into your table_name (data_one,data_two)" + "values("value_one+","+value_two+ "\"" + ") ;");

改用
insertOrThrow()
。insertOrThrow()的工作原理不可思议!非常感谢!这不应该有任何区别……因此,我得出结论,记录数据的大小很重要。而且尺寸很大(照片应根据客户的要求存放在底座中)。缩小图像大小解决了所有设备上的问题。无论操作系统版本如何,此问题都会发生在设备上(以前的设备不受此问题的影响),但取决于设备制造商。纯安卓的表现总是正确的。