내 애플리케이션에서 Android에서 동기화 어댑터 서비스를 만들려고합니다. 앱이 종료되면 백그라운드에서 실행됩니다.IBM 모바일 우선 : sendActionToJS가 Android에서 백그라운드 서비스로 작동하지 않습니다.
이 서비스는 WL.getInstance(). sendActionToJS()를 호출하여 js에 컨트롤을 보냅니다.
내가 사용하고 있습니다 :
WL.App.setKeepAliveInBackground(true);
방법을 나는 애플 리케이션이 살해 된 경우에도 WL에 인스턴스를 사용할 수 나는이 방법을 사용하여 백그라운드에서 살아 응용 프로그램을 유지하기 위해.
onSync.java :
try {
JSONObject data = new JSONObject();
data.put("isConnected", true);
data.put("connRes", "MOBILE");
WL wl = WL.getInstance();
if(wl!=null){
L.e("WL is not null");
wl.sendActionToJS("isConnected", data);
}
else{
L.e("WL is null");
}
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
main.js :.
WL.App.setKeepAliveInBackground(true, options);
WL.App.addActionReceiver("MIActionReceiverId", function actionReceiver(received){
console.log('MIActionReceiverId . '+JSON.stringify(received));
else if(received.action == 'isConnected') {
//Connectivity manager
console.log('isConnected. ');
var isConnected = received.data.isConnected;
console.log('isConnected. '+isConnected);
}
}
WL.getInstance() sendActionToJS() 메소드는 아무것도 어느 쪽도 수신되지 않은 예외 addActionReceiver main.js에 던지는되지 않습니다 아무것도.
이 문제는 앱이 종료되고 모든 것이 정상적으로 작동하는 동안 백그라운드에서 실행될 때 발생합니다.