GCM寄存器:块执行直到完成

时间:2012-09-21 09:15:11

标签: android block google-cloud-messaging

我在我的应用程序中使用GCM。用户要做的第一件事就是登录应用程序。当他发送数据时,如果登录正常,我会调用GCMRegistrar.register。如果设备已成功注册,我将打开一个新活动,否则我希望保持相同的活动并显示错误消息。

我发现的问题是GCM寄存器是异步的,我想停止活动的执行,直到它结束。我尝试了以下方法:

GCMRegistrar.register(this, SENDER_ID);
GCMApplication app = (GCMApplication) getApplication();
while(!app.isGcm_registered()){
    try {
         Thread.sleep(500);
    } catch (InterruptedException e) {
         e.printStackTrace();
    }

}

当注册结束时,我在我的应用类中将gcm_registered设置为true。但是,如果我这样做,寄存器调用被阻止,我的GCMIntentService中的onRegistered函数永远不会被调用。如果我不阻止执行,寄存器就会成功完成。

如何在注册结束前阻止活动的执行?

0 个答案:

没有答案
相关问题