#ios #cordova
#iOS #кордова
Вопрос:
Я использую PhoneGap для создания собственного приложения для iOS. Приложение реализует схему iOS, так что его можно вызвать из мобильного Safari, например myapp: //?параметры. Действия приложения зависят от входных параметров, я считываю их, обрабатывая событие «deviceready».
Проблема в том, что после первоначального выполнения приложение остается в фоновом режиме, и любые последующие вызовы (из браузера) не запускают другой «deviceready», и в результате я не могу получить новые параметры.
Есть идеи? Спасибо!
Ответ №1:
Удалось ли вам в конце запустить событие возобновления?
У меня также возникли проблемы с этим — у меня есть следующий код:
window.addEventListener('load', function () {
document.addEventListener('deviceready', onDeviceReady, false);
}, false);
function onDeviceReady() {
document.addEventListener('resume', onResume, false);
document.addEventListener('pause', onPause, false);
document.addEventListener('online', onOnline, false);
document.addEventListener('offline', onOffline, false);
}
function onResume() {
alert('resume');
}
function onPause() {
alert('pause');
}
function onOnline() {
alert('online');
}
function onOffline() {
alert('offline');
}
И хотя события deviceready и online, похоже, запускаются, я, похоже, не могу запустить событие resume. Любой свет, который кто-либо мог бы пролить на это, был бы высоко оценен!
Ответ №2:
Происходит событие «возобновить». http://docs.phonegap.com/phonegap_events_events.md.html
Комментарии:
1. Хорошо, я могу обработать событие «resume», но приведет ли оно к новой строке вызова с новыми параметрами? С первой попытки кажется, что это не так.
Ответ №3:
Прошло больше года с тех пор, как был задан вопрос, но я все равно хочу ответить для будущих читателей.
Если вы хотите, чтобы ваше приложение отвечало на схемы URL после начальной загрузки (при возобновлении), вам необходимо определить функцию, вызываемую handleOpenURL()
в глобальном контексте. Затем эта функция будет автоматически запущена при возобновлении работы вашего приложения.
function handleOpenURL(invokeString) {
// do something with the invoke string
}