[英]startForeground() causing problems with cordova
我在我的cordova app中使用了一個服務,它在onCreate中生成一個startForeground
通知。 如果應用程序通過滑動被殺死並再次啟動,則不會再觸發cordova設備就緒事件。 當應用程序重新啟動時,似乎沒有定義cordova
對象本身。 我收到以下錯誤消息:
E/Web Console(19472): Uncaught TypeError: Object #<Object> has no method 'exec' at file:///android_asset/www/src/jsFile.js:31
第31行及以下:
cordova.exec(function (r) {
if (callback) {
callback(r);
}
}, function (err) {
if (callback) {
callback(false);
}
}, "Plugin", "functionName", []);
只有在我的服務中使用startForeground
時才會出現問題,如果我對代碼的這一部分進行評論,那么它的工作正常。 我迫切需要一些關於這些問題的幫助:
startForeground
啟動服務,但在殺死並重新啟動應用程序后仍然會觸發cordova設備就緒 編輯:
在做了兩個快速示例項目之后,一個在Cordova 3.6(我用於我的實際應用程序的版本)和Cordova 5.1上,我意識到新Cordova版本中不會出現問題。 但是我真的不想更新,因為:
知道什么可以從3.6改為5.1解決了這個bug,以及我是否可以相應地更新我的3.6代碼?
EDIT2:
這不是 這個問題的重復。 在這個問題中錯誤地傳遞了deviceReady回調。 在我的應用程序中不是這種情況,只有在我的服務中不使用startForeground
時才工作是沒有意義的。
您的應用生命周期似乎存在問題。 當您滑動或強行關閉應用程序時,應用程序進程將被終止,因此如果您未在狀態包中保存依賴對象或變量,則重新啟動時它們將返回null,因為活動假定這些內容可用。 你可以將你在onCreate()
的代碼粘貼到你定義的cordova那里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.