实施 GCM 客户端时出现未知错误和警告
Unknown errors and warnings while implementing GCM client side
我正在尝试实现 Github 中的 GCM 客户端示例
但我无法在我的 MyGcmListenerService.java
中接收通知
当我浏览我的 android 工作室 logcat 生成的日志时,我发现了这个警告和错误消息
警告
10-07 15:22:47.160 29844-29844/com.me.myapp W/asset﹕ AssetManager-->
addDefaultAssets CIP path not exsit!
10-07 15:22:47.352 29844-29844/com.me.myapp W/dalvikvm﹕ VFY: unable to resolve
virtual method 247: Landroid/app/Notification$Builder;.setLocalOnly (Z)
Landroid/app/Notification$Builder;
10-07 15:22:47.352 29844-29844/com.me.myapp W/dalvikvm﹕ VFY: unable to resolve
instance field 18
10-07 15:22:47.359 29844-29844/com.me.myapp W/dalvikvm﹕ VFY: unable to resolve
virtual method 1507: Landroid/os/UserManager;.getApplicationRestrictions
(Ljava/lang/String;)Landroid/os/Bundle;
错误
10-07 15:03:37.070 10177-10177/com.me.myapp E/dalvikvm﹕ Could not find class
'android.os.UserManager', referenced from method com.google.android.gms.common
.GooglePlayServicesUtil.zzah
10-07 15:03:37.156 10177-10177/com.me.myapp E/dalvikvm﹕ Could not find class
'android.app.AppOpsManager', referenced from method com.google.android.gms.common.
GooglePlayServicesUtil.zzb
10-07 15:03:38.117 10177-10197/com.me.myapp E/GMPM﹕ getGoogleAppId failed with
status: 10
10-07 15:03:38.132 10177-10197/com.me.myapp E/GMPM﹕ Uploading is not possible.
App measurement disabled
10-07 15:07:11.320 10306-10306/com.me.myapp E/SensorManager﹕ thread start
10-07 15:07:17.164 10306-10703/com.me.myapp E/API_TASK﹕ Read timed out
问题
- 如何解决部分或全部错误和警告?
- 它们是否与我未能收到来自 GCM 服务器的通知有关?
所述的错误和问题与接收 gcm 通知无关。对于我的情况。从 gcm 连接服务器收到的 gcmid 未保存在数据存储中。负责保存它的实体实施不当,因此我无法从 GCM 连接服务器接收消息或通知。
确保从连接服务器收到的 gcmId 已妥善保存在您的应用服务器中。(我使用 objectify 来实现此目的)
还可以在后端模块中使用 Logger
class,以便通过在重要阶段打印日志(消息)来跟踪您的实施。例如,当您收到 gcmid 时(您可以在前端实现它,因此使用 Log.d()
方法),如果 gcmid 已保存到您的应用程序服务器(在这里您使用实体来执行此操作,而在这里您使用 Logger class
因为这发生在后端模块)。
还在卡住?在下方评论寻求帮助
我正在尝试实现 Github 中的 GCM 客户端示例 但我无法在我的 MyGcmListenerService.java
中接收通知当我浏览我的 android 工作室 logcat 生成的日志时,我发现了这个警告和错误消息
警告
10-07 15:22:47.160 29844-29844/com.me.myapp W/asset﹕ AssetManager-->
addDefaultAssets CIP path not exsit!
10-07 15:22:47.352 29844-29844/com.me.myapp W/dalvikvm﹕ VFY: unable to resolve
virtual method 247: Landroid/app/Notification$Builder;.setLocalOnly (Z)
Landroid/app/Notification$Builder;
10-07 15:22:47.352 29844-29844/com.me.myapp W/dalvikvm﹕ VFY: unable to resolve
instance field 18
10-07 15:22:47.359 29844-29844/com.me.myapp W/dalvikvm﹕ VFY: unable to resolve
virtual method 1507: Landroid/os/UserManager;.getApplicationRestrictions
(Ljava/lang/String;)Landroid/os/Bundle;
错误
10-07 15:03:37.070 10177-10177/com.me.myapp E/dalvikvm﹕ Could not find class
'android.os.UserManager', referenced from method com.google.android.gms.common
.GooglePlayServicesUtil.zzah
10-07 15:03:37.156 10177-10177/com.me.myapp E/dalvikvm﹕ Could not find class
'android.app.AppOpsManager', referenced from method com.google.android.gms.common.
GooglePlayServicesUtil.zzb
10-07 15:03:38.117 10177-10197/com.me.myapp E/GMPM﹕ getGoogleAppId failed with
status: 10
10-07 15:03:38.132 10177-10197/com.me.myapp E/GMPM﹕ Uploading is not possible.
App measurement disabled
10-07 15:07:11.320 10306-10306/com.me.myapp E/SensorManager﹕ thread start
10-07 15:07:17.164 10306-10703/com.me.myapp E/API_TASK﹕ Read timed out
问题
- 如何解决部分或全部错误和警告?
- 它们是否与我未能收到来自 GCM 服务器的通知有关?
所述的错误和问题与接收 gcm 通知无关。对于我的情况。从 gcm 连接服务器收到的 gcmid 未保存在数据存储中。负责保存它的实体实施不当,因此我无法从 GCM 连接服务器接收消息或通知。
确保从连接服务器收到的 gcmId 已妥善保存在您的应用服务器中。(我使用 objectify 来实现此目的)
还可以在后端模块中使用
Logger
class,以便通过在重要阶段打印日志(消息)来跟踪您的实施。例如,当您收到 gcmid 时(您可以在前端实现它,因此使用Log.d()
方法),如果 gcmid 已保存到您的应用程序服务器(在这里您使用实体来执行此操作,而在这里您使用Logger class
因为这发生在后端模块)。
还在卡住?在下方评论寻求帮助