是否可以使用 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.
这是示例代码,模拟了该部分中正在完成的一些实际工作。
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.
这是示例代码,模拟了该部分中正在完成的一些实际工作。