我对 java 和 android 开发都很陌生,所以希望这个问题足够具体:我想使用 GoogleCloudMessaging 编写一个 hello world 应用程序。现在,我希望我的应用程序注册到 googleapis 服务器,获取注册 ID,然后将其发送到我的服务器。稍后我会担心服务器响应。我将使用该软件包:
import com.google.android.gms.gcm.GoogleCloudMessaging
我知道我需要使用以下代码将我的设备注册到云:
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context);
String registrationId = gcm.register(senderId);
我的问题是我在哪里称呼它?在我的 MainActivity onCreate() 中?我想我不能这样做,因为它是主线程上的网络 IO,但是如果我创建一个 AsyncTask,我该如何制作它以便我的主线程可以看到我的registrationId,以便我稍后可以使用 ID 调用发送函数它?
(我意识到有办法通过 GCM 服务器进行双向消息传递,但我仍然想知道如何做到这一点。谢谢!)