Я использую службу в своем приложении cordova, которое генерирует уведомление startForeground
в onCreate. Если приложение было убито с помощью салфетки и снова запустилось, событие с готовностью устройства 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
в моей службе, если я прокомментирую эту часть кода, что все работает правильно. Мне отчаянно нужна помощь по этим вопросам:
- Можно ли запустить ручку cordova вручную?
- Как запустить службу с помощью
startForeground
, но по-прежнему запускать устройство cordova-ready после убийства и перезапуска приложения.
Edit:
После создания двух быстрых проектных проектов, один в Кордове 3.6 (версия, которую я использую для моего фактического приложения) и с Кордовой 5.1, я понял, что проблема в не возникает в новом Кордова версия. Однако я не хочу обновлять, потому что:
- Никогда не прикасайтесь к работающей системе.
- Я не знаю, что больше не может работать в версии никогда, поскольку я установил много плагинов в своем приложении.
- Я ленивый.
Любая идея, что могло измениться с 3.6 до 5.1, которая решила ошибку, и мог ли я обновить свой код 3.6 соответственно?
Edit2:
Это не дубликат этого вопроса. Обратный вызов deviceReady был ошибочно принят в этом вопросе. Это не относится к моему приложению, и было бы бесполезно работать только тогда, когда я не использую startForeground
в своей службе.