是否可以使用 Google 云消息传递来避免 thread.sleep()?

Is it possible to avoid thread.sleep() with Google Cloud Messaging?

Google 提供的 link https://developer.android.com/google/gcm/client.html 解释了如何在 Android 应用程序中实施 Google 云消息传递。

特别是,在处理消息接收的服务中,在 onHandleIntent 方法中,本教程使用此代码:

else if (GoogleCloudMessaging.
                MESSAGE_TYPE_MESSAGE.equals(messageType)) {
            // This loop represents the service doing some work.
            for (int i=0; i<5; i++) {
                Log.i(TAG, "Working... " + (i+1)
                        + "/5 @ " + SystemClock.elapsedRealtime());
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                }
            }
            Log.i(TAG, "Completed work @ " + SystemClock.elapsedRealtime());
            // Post notification of received message.
            sendNotification("Received: " + extras.toString());
            Log.i(TAG, "Received: " + extras.toString());
        }

这会强制应用在发布通知之前等待 25 秒。 为什么本教程使用它?真的有必要吗?

因为上面评论中所述的原因,它就在那里!

This loop represents the service doing some work.

这是示例代码,模拟了该部分中正在完成的一些实际工作。