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 가지 상태를 가질 수 있습니다 ( 활동 의 수명주기 에 따라 ).
- 명백한
- 보이지 않지만 여전히로드 됨
- 로드되지 않음
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은 보장되지 않습니다. 자신의 책임하에 플러그인을 사용하십시오!
'Nice programing' 카테고리의 다른 글
템플릿 매개 변수 팩을 확장하지 않고 "저장"할 수 있습니까? (0) | 2020.10.27 |
---|---|
Spark 작업이 org.apache.spark.shuffle.MetadataFetchFailedException으로 실패하는 이유 : 추측 모드에서 셔플 0의 출력 위치가 누락 되었습니까? (0) | 2020.10.27 |
Visual Studio 코드 분석 대 StyleCop + FxCop (0) | 2020.10.27 |
문서 디렉토리에 이미지 저장 및 이메일 첨부 파일 검색 (0) | 2020.10.27 |
종속성 주입 및 명명 된 로거 (0) | 2020.10.27 |