0

푸시 알림 수신시 안드로이드 애플리케이션이 다운됩니다. 사용하는 코드는 다음과 같습니다.푸시 알림 수신시 Android 앱이 다운 됨

var CloudPush = require('ti.cloudpush'); 

var deviceToken = ''; 
//fetch device token 
CloudPush.retrieveDeviceToken({ 
    success : function deviceTokenSuccess(e) { 
     alert('Device Token: ' + deviceToken); 
     Ti.API.info('Device Token: ' + e.deviceToken); 
    }, 
    error : function deviceTokenError(e) { 
     alert('Failed to register for push! ' + e.error); 
    } 
}); 

CloudPush.debug = true; 
CloudPush.enabled = true; 
CloudPush.showTrayNotificationsWhenFocused = true; 
CloudPush.focusAppOnPush = false; 

CloudPush.addEventListener('callback', function(evt) { 
    alert(evt.payload); 
}); 

인스턴트 메신저 내 잘못을 알아 내거나이 문제에 대한 정보를 찾을 수 없습니다. 정보가 도움이 될 것입니다. 미리 감사드립니다.

PS - Im은 Titanium SDK 3.1.0을 사용합니다. 아래

로그 -

E/TiApplication(9474): (main) [27233,59667] Sending event: exception on thread: main msg:java.lang.NoSuchMethodError: org.appcelerator.titanium.TiApplication.isCurrentActivityInForeground; Titanium 3.1.0,2013/04/15 18:46,57634ef 

E/TiApplication(9474): java.lang.NoSuchMethodError: org.appcelerator.titanium.TiApplication.isCurrentActivityInForeground 

E/TiApplication(9474): at ti.cloudpush.CloudpushModuleGeneric.receivePayload(CloudpushModuleGeneric.java:81) 

E/TiApplication(9474): at ti.cloudpush.GCMReceiver.onReceive(GCMReceiver.java:26) E/TiApplication(9474): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2280) 

E/TiApplication(9474): at android.app.ActivityThread.access$1600(ActivityThread.java:143) 
E/TiApplication(9474): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) 

E/TiApplication(9474): at android.os.Handler.dispatchMessage(Handler.java:99) 

E/TiApplication(9474): at android.os.Looper.loop(Looper.java:137) 

E/TiApplication(9474): at android.app.ActivityThread.main(ActivityThread.java:4950) 

E/TiApplication(9474): at java.lang.reflect.Method.invokeNative(Native Method) 

E/TiApplication(9474): at java.lang.reflect.Method.invoke(Method.java:511) 

E/TiApplication(9474): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004) 

E/TiApplication(9474): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) 
E/TiApplication(9474): at dalvik.system.NativeStart.main(Native Method) 
+0

사용중인 cloudpush 모듈의 버전은 무엇입니까? – Anand

답변

0

당신이있어 오류는 다음과 같습니다

E/TiApplication(9474): java.lang.NoSuchMethodError: org.appcelerator.titanium.TiApplication.isCurrentActivityInForeground

이 방법을 인터넷 검색, 나는 그것을 here 발견했다.

즉, org.appcelerator.titanium.TiApplication 클래스의 잘못된 버전을 포함하는 jar를 사용하고있는 것입니다.

0

GCM 푸시를 구현하는 중 문제가 발생했습니다. 내가 사용한 CloudPush 모듈의 문제 때문이었습니다. 나는 CloudPush 모듈 3.x를 사용하고 있었다. 모듈을 2.3.3으로 다시 변경했고 제대로 작동했습니다. 애플리케이션이 Android 2.3.x 기기에 설치된 경우 동일한 문제가 발생합니다. Android CloudPush 모듈을 2.3.3으로 변경하고 TiApp.xml에 버전을 지정하는 것을 잊지 마십시오.