设备与Google Cloud Messaging之间的实时通信

时间:2014-06-23 09:22:56

标签: android google-cloud-messaging

我是一年前的Android开发者,但我从来没有做任何设备之间通信的应用程序(只是GET和POST调用)。

我正考虑在Android Native中制作纸牌游戏(不是Cocos2D-x或游戏引擎)。

设备之间的通信方式是GCM,但我并不完全了解如何处理游戏逻辑。

我知道班级GCMIntentService可以覆盖:

@Override
protected void onRegistered(Context context, String registrationId) {

    Log.i(TAG, "onRegistered: registrationId=" + registrationId);
}

@Override
protected void onUnregistered(Context context, String registrationId) {

    Log.i(TAG, "onUnregistered: registrationId=" + registrationId);
}

@Override
protected void onMessage(Context context, Intent data) {


}

@Override
protected void onError(Context arg0, String errorId) {

    Log.e(TAG, "onError: errorId=" + errorId);
}

我的问题是:我是否必须在onMessage()上开发所有游戏逻辑?你能举个例子吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你想开始活动(可能是你的情况下的游戏):

@Override
protected void onMessage(Context context, Intent data) {

    Intent intent= new Intent(context, MainActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
    intent.setAction(Long.toString(System.currentTimeMillis()));
    intent.putExtra(xxx,xxx); //try to put the require information from data intent
    context.startActivity(intent); 
}

在已启动的活动案例中,请使用PendingIntent,而使用FLAG_UPDATE_CURRENT标记