在中国的一些设备中找不到GMC注册包

时间:2015-02-28 08:31:08

标签: android google-api google-cloud-messaging

找不到com.google.android.gsf包

FATAL EXCEPTION: main
 Process: com.innowaystimesheet, PID: 1309
java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98)
at com.innowaystimesheet.LoginActivity.registerGCM(LoginActivity.java:217)  at com.innowaystimesheet.LoginActivity.access$0(LoginActivity.java:215)
atcom.innowaystimesheet.LoginActivity$1.handleMessage(LoginActivity.java:5
at android.os.Handler.dispatchMessage(Handler.java:102)

    at android.app.ActivityThread.main(ActivityThread.java:5001)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
    at dalvik.system.NativeStart.main(Native Method)

我们可以在app端添加包还是以其他任何方式解决?

2 个答案:

答案 0 :(得分:1)

  

我们可以在app端添加包还是以其他任何方式解决?

如果设备没有该软件包,那么在注册之前,您应该检查设备是否支持GCM或是否在设备中更新了Google Play服务应用。

如果没有,那么您可以向用户提供对话框,要求GCM推送通知需要google play servce,并将用户重定向到使用google play服务包的商店。用户下载后,就可以解决问题了。

答案 1 :(得分:0)

  

我们可以在app端添加包还是以其他任何方式解决?

是的你可以。

打开SDK文件夹并在其中

your-android-sdk\extras\google\gcm\

然后

Client code to be used in Android app :
 gcm\gcm-client\

将gcm.jar复制到项目的libs文件夹并将其添加到构建路径,然后就完成了。希望它会有所帮助。谢谢