2015-04-25 4 views
0
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) { 
     GooglePlayServicesUtil.getErrorDialog(resultCode, (Activity) 
    context, PLAY_SERVICES_RESOLUTION_REQUEST).show(); 
    } 

Исключение:GCM класс литая исключение

java.lang.ClassCastException: com.interconnect.garhoud.Garhoud не может быть приведен к android.app.Activity в com.interconnect.library.gcm .Util.checkPlayServices (Util.java:96) at com.interconnect.library.gcm.Regiseter.handleRegister (Regiseter.java:53) at com.interconnect.library.gcm.Regiseter.onHandleIntent (Regiseter.java: 30) на android.app.IntentService $ ServiceHandler.handleMessage
(IntentService.java:65) при android.os.Handler.dispatchMessage (Handler.java:102) при android.os.Looper.loop (Looper.java:146) при android.os.HandlerThread.run (HandlerThread.java:61)

Я использовал контекст как getApplicationContext, потому что я назвал это, если из службы намерения. Как я могу обработать это исключение?

+0

Отличный ресурс, разработчики для разработчиков, основанные исключительно на ClassCastException. https://github.com/mopub/mopub-android-sdk/issues/13. – BIW

+0

Посмотрите на журнал ошибок и увидите, что вы не можете наложить на Activity и все равно вы отбрасываете его на Activity –

+0

У меня нет экземпляра активности для использования в этом методе, потому что я назвал его из класса, который был расширен из IntentService, и он работает большинство устройств, но недавно я нашел эту ошибку в ткани –

ответ

1

Поскольку вы не можете отобразить диалоговое окно службы, вы можете использовать GooglePlaySErvicesUtil.showErrorNotification(), что позволяет публиковать уведомление, в котором пользователь должен решить проблему с помощью Служб Google Play.

Смежные вопросы