Nice programing

Phonegap으로 Android 서비스를 만드시나요?

nicepro 2020. 10. 27. 23:28
반응형

Phonegap으로 Android 서비스를 만드시나요? (닫아도 phonegap 앱이 실행됩니다)


Phonegap을 사용하여 Android 앱에서 작업 해 왔으며 이제 앱을 닫을 때 앱에서 java / js 코드를 실행할 수 있도록 만들고 싶습니다. 그래서 서비스를 만들어야한다는 것을 이해합니다. phonegap에서 서비스 플러그인을 생성해도 javascript 코드를 실행할 수 있습니까? 아니면 Java 만 실행할 수 있습니까?

이런 일을하는 사람이 있습니까? 이 토론을 찾았지만 작동하지 않는 것 같습니다. http://groups.google.com/group/phonegap/browse_thread/thread/722b0e796baa7fc6 그래서 지금 내가 가진 전부입니다.

내가 그것을 알아낼 수 없다면 네이티브를 개발하기 전에 누군가가 이것을 해본 적이 있는지 물어볼 것이라고 생각했습니다. 비슷한 일을하는 phonegap 플러그인을 찾을 수없는 것 같습니다.

편집 : Java 코드를 서비스로 실행하는 앱이 있습니다. 그러나 sendjavascript를 호출하면 작동하지 않습니다. 그렇다면 phonegap으로 앱을 닫을 때 자바 스크립트 코드를 백그라운드에서 실행하는 방법이 있습니까?

감사


아니요, 백그라운드에서 (적어도 제 생각에는) Javascript 코드를 서비스로 실행할 수 없습니다. Android의 Phonegap 은 WebView를 호스팅하는 Droidgap 이라는 특수 활동을 사용합니다 . 이 브라우저 컨트롤은 JavaScript를 실행합니다. 이는 JS 실행이 표시 여부에 관계없이이 활동 내에서만 처리 될 수 있음을 의미합니다.

Google 그룹스에서 링크 한 코드는 자바로 개발 된 서비스를 DroidGap 활동에 바인딩하려고 시도하므로 서비스가 JS로 작성되지 않습니다.

DroidGap 활동에서 파생 된 자식 활동 내에서 JS 코드 내에 일부 백그라운드 활동이있을 수 있습니다. 예를 들어 활동에 백그라운드 스레드가 있고 JS 콜백 함수가 있고 스레드가이 콜백 기능을 호출하도록합니다.

서비스가 정말로 필요하다면 네이티브로 가야합니다.

업데이트 :
JS 코드는 Droidgap 활동으로 만 실행할 수 있습니다. 활동은 3 가지 상태를 가질 수 있습니다 ( 활동수명주기 에 따라 ).

  1. 명백한
  2. 보이지 않지만 여전히로드 됨
  3. 로드되지 않음

Phonegap 플러그인을 구현 샘플제공했습니다 . 플러그인은 활동이 자신을 SMS_RECEIVED에 등록 할 수 있도록합니다. 활동이 범위를 벗어나면 (onbeforeunload 이벤트) 등록이 취소되므로 문제 1 만 처리됩니다.

3 가지 문제를 모두 처리하려면 수신 SMS 인 텐트를 활동으로 전달해야합니다. 로드되지 않으면 시스템이 자동으로 활동을로드하고 활성화합니다. 그러나 이것은 더 이상 백그라운드 서비스가 아니며 SMS가 수신 될 때마다 앱이 표시됩니다.

이것을 원하지 않는 경우 (정말 백그라운드 서비스를 원하는 경우) 네이티브 구현을 제공해야합니다.


문제에 대한 좋은 정보를 제공하는 Phonegap으로 Android에서 서비스를 만드는 방법에 대한 이 기사있습니다.

phonegap으로 쉽게 백그라운드 서비스를 구축하기 위해 훌륭한 플러그인을 사용하고 있습니다. 하지만 JS를 사용할 수는 없습니다.

JS를 백그라운드에서 실행하는 방법을 찾지 못했습니다. 그러나 플러그인을 사용하여 Java에서 JS로 또는 그 반대로 매개 변수를 전달할 수 있습니다. 이것은 매우 유용합니다. 그래도 Java로 JS 코드를 다시 작성해야합니다. JS 만 실행하기를 원하는 특별한 이유가 없다면? (하지만 안돼 ...)

이 페이지를 방문하는 일부 사람들에게 유용 할 수 있기를 바랍니다.


예, 매우 간단합니다 ... 플러그인 backgroundJS를 설치하십시오.

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

백그라운드에서 자바 스크립트를 실행하고 로컬 알림 플러그인과 결합하여 언제든지 사용자에게 알림을 보낼 수 있습니다. 이렇게하면 배터리가 더 빨리 소모된다는 점을 명심하세요. iOS 정책에 문제가 발생합니다. 행운을 빕니다!!!


당신은 추가 할 수있는 플러그인 코르도바 - 플러그인 - 배경 모드를

그러나 저자가 말했듯이
무한 백그라운드 작업은 대부분의 모바일 운영 체제에서 공식적으로 지원되지 않으므로 공공 상점 공급 업체와 호환되지 않습니다. 성공적인 submssion은 보장되지 않습니다. 자신의 책임하에 플러그인을 사용하십시오!

참고 URL : https://stackoverflow.com/questions/10343828/creating-an-android-service-with-phonegap-have-phonegap-app-run-even-when-clos

반응형