带有WebSql事务回调的Phonegap不会触发(有时)

时间:2013-09-20 21:08:59

标签: android html5 cordova web-sql

我正在开发Phonegap应用程序,并且在设备中我正在初始化一个Web sql数据库。

一般情况下工作正常,但有时候,“_ db.transaction”函数的回调不会被触发(错误和成功回调)。

重要的是要提到它发生后,它会一直发生,即使我进入应用程序并单击“返回”按钮触发“navigator.app.ExitApp()”,如果我再次打开应用程序它仍然发生。解决问题的唯一方法是在“设置”中输入“管理应用程序”并单击“强制关闭”,然后应用程序打开正常(成功回调)。

我试图调查,刚刚发现在我的Galaxy III mini,SOMETIMES(也许不是原因,但它是我能找到的最好的)当我最小化应用程序,然后“强制关闭”它从“管理应用程序“在”设置“中,错误发生(无论多少次我尝试重新打开应用程序,回调都不起火)..然后解决它,就像我之前说的,我需要再次“强行关闭”..

我很感激任何建议和帮助,Liran。

我的web sql初始化代码:

function initDB() {
var d = $.Deferred();
console.log('Initializing local DB..');

_db = window.openDatabase("spydb", "1.0", "Spy DB", 100000);

_db.transaction(function(tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS news (record_id INTEGER, member_id INTEGER, dateAsSecs1970 TEXT, fid_friend INTEGER, fid_partner INTEGER, message TEXT, PRIMARY KEY (record_id, member_id))');
}// Transaction failed
, function(err) {
    console.log('error at initDB(): ' + err.message);
    d.reject(err);
}, // Transaction succeeded
function() {
    console.log('DB init succeeded');
    d.resolve();
});

return d;

}

0 个答案:

没有答案