我正在开发 Phonegap 应用程序,并且在设备就绪中我正在初始化一个 web sql 数据库。
它通常工作正常,但有时,“_db.transaction”函数的回调不会被触发(无论是错误回调还是成功回调)。
重要的是要提到它发生后,它一直在发生,即使我进入应用程序并单击触发“navigator.app.ExitApp()”的“返回”按钮,如果我再次打开应用程序它仍然会发生. 解决它的唯一方法是在“设置”中进入“管理应用程序”并单击“强制关闭”,然后应用程序打开正常(引发成功回调)。
我试图调查,只是发现在我的 Galaxy III mini 中,有时(可能不是原因,但它是我能找到的最好的)当我最小化应用程序,然后从“管理应用程序”中“强制关闭”它时在“设置”中,发生了错误(回调不会触发,无论我尝试重新打开应用程序多少次)..然后解决它,就像我之前说的那样,我需要做再次“强制关闭”..
我将不胜感激任何建议和帮助,立然。
我的 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;
}