Intereting Posts
Недостаточно места для показа рекламы (AdMob) ImageView без растягивания изображения Рабочий каталог: null Окружающая среда: null Как сделать ход для 3 сторон для формы в андроиде? Невозможно выполнить xmpp-соединение между моим сервером приложений и CCS GCM, используя библиотеку XMPPHP Автоматически отображать панель инструментов для Google Карт Qt на андроиде, уменьшая двоичный размер AdjustPan не препятствует клавиатуре закрывать EditText Как я могу представить отношение многих к многим с Android Room? Пользовательское хранилище данных на локальном компьютере с App Engine Как отличить приложение Android от Amazon Kindle Fire? Есть ли какой-либо opendial reality sdk для Android? Затухание в анимации при загрузке изображения Использование Picasso Android. Можно ли отключить длинный щелчок кнопки дома, чтобы избежать диспетчера задач? Как прокрутить вниз в ScrollView при запуске активности

Создание службы Android с помощью Phonegap? (У вас есть приложение для телефонного звонка, даже если оно закрыто)

Я работаю над Android-приложением, используя Phonegap, и теперь хотел бы сделать это, когда приложение будет закрыто, оно все равно может выполнить код java / js в приложении. Поэтому я понимаю, что мне нужно создать сервис. Если я создаю сервисный плагин на телефоне, я могу выполнить код javascript или только java?

Кто-нибудь делает что-то подобное? Я нашел это обсуждение, но, похоже, не работал: http://groups.google.com/group/phonegap/browse_thread/thread/722b0e796baa7fc6 Итак, это все, что у меня есть сейчас.

Прежде чем перейти к разработке его родного, если я не могу понять, подумал, что я спрошу, сделал ли кто-нибудь это раньше. Кажется, я не могу найти ни одного из плагинов телефонной заставки, которые бы делали что-то подобное.

EDIT: У меня есть приложение, которое выполняет Java-код как службу. Однако, когда он вызывает sendjavascript, он не работает. Итак, есть ли способ, чтобы код javascript работал в фоновом режиме, когда приложение закрыто с помощью телефонного разговора?

благодаря

Solutions Collecting From Web of "Создание службы Android с помощью Phonegap? (У вас есть приложение для телефонного звонка, даже если оно закрыто)"

Нет, невозможно запустить код Javascript в фоновом режиме (по крайней мере, на мой взгляд) в качестве сервиса. Phonegap на Android использует специальное действие под названием Droidgap , в котором размещается WebView. Этот элемент управления браузером выполняет JavaScript. Это означает, что выполнение JS может обрабатываться только внутри этого действия, независимо от того, является ли оно видимым или нет.

Код, который вы связали с группами Google, пытается связать службу, разработанную на Java, с активностью DroidGap, поэтому служба НЕ написана в JS.

У вас может быть некоторая фоновая активность в вашем JS-коде внутри вашей дочерней активности, полученной из операции DroidGap. Например, у вас есть фоновый поток в вашей деятельности, есть функция обратного вызова JS и пусть поток вызывает эту функцию обратного вызова.

Если вам действительно нужна услуга, вы должны пойти на урожай.

Обновить:
JS-код может быть выполнен только с помощью операции Droidgap. Активность может иметь 3 состояния (на основе жизненного цикла активных действий ):

  1. видимый
  2. Невидимый, но все еще загруженный
  3. Не загружен

Я представил образец, в котором я реализовал плагин Phonegap. Плагин позволяет активности регистрироваться на SMS_RECEIVED. Когда активность выходит за пределы области (событие onbeforeunload), она отменяет регистрацию, поэтому обрабатывается только проблема 1.

Когда вы хотите, чтобы все 3 проблемы обрабатывались, вы должны перенаправить входящие SMS-намерения на эту активность. Когда он не загружен, система будет автоматически загружать и активировать активность. Но это уже не фоновая служба, ваше приложение станет видимым при получении SMS.

Если вы не хотите этого (если вы действительно хотите использовать фоновый сервис), вы должны предоставить собственную реализацию.

Существует статья о том, как создать службу на Android с помощью Phonegap, которая дает некоторую хорошую информацию о вашей проблеме.

Он использует большой плагин, чтобы легко создать фоновый сервис с телефонной связью. Но вы не можете использовать JS, хотя

Я не нашел способ заставить JS работать в фоновом режиме. НО вы можете передавать параметры с Java на JS и наоборот с помощью плагина … что очень полезно. Вам все равно придется переписывать свой JS-код на Java. Если у вас нет определенной причины, чтобы только JS запускался? (Но не должно быть …)

Надеюсь, что это может быть полезно для некоторых людей, посещающих эту страницу.

ДА, и это очень просто … просто установите плагин backgroundJS:

https://build.phonegap.com/plugins/430

Он позволяет запускать javascript на фоне и в сочетании с локальным плагином уведомлений, вы даже можете отправлять уведомления пользователю в любое время, просто имейте в виду, что это приведет к тому, что батарея разрядится быстрее, также учтите, что это может Создать проблему с политикой iOS. удачи!!!

Вы можете попробовать добавить плагин cordova-plugin-background-mode

Но как говорит автор:
Бесконечные фоновые задачи официально не поддерживаются большинством мобильных операционных систем и, таким образом, не совместимы с публичными магазинами. Успешное подчинение не гарантируется. Используйте плагин на свой страх и риск!