在 Activity 中接收 GCM 数据
Receive GCM Data in Activity
我正在通过 GCM 从服务器接收数据。我想在 Activity 上更新 ListView。但是,当我收到数据时,它在 BroadcastReceiver 中。如何将该数据发送到 Activity 以便我可以更新 ListView。
编辑:
我正在开发一个 RSS 应用程序。首先,我使用 MainActivity 从我自己的服务器获取所有 RSS 数据并将其显示在 ListView 中。当新数据添加到服务器时,我使用 GCM 获取通知。我在单独的 class 中获取新数据并将此数据存储在 List<FeedItem>
中。但是,问题是我不知道如何将新的 List<FeedItem>
数据发送到 MainActivity 来显示它。就像 FaceBook 中的 "New Feeds"。
当您在接收器中接收数据时,您需要广播 again.and 在 activity 中设置广播接收器,当您收到该广播时更新列表。
public void sendBroadcast()
{
Intent intent = new Intent("send");
intent.putExtra("current speed", "102.4");
intent.putExtra("latitude", "12.2342342");
intent.putExtra("longitude", "12.21124");
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
您可以使用 broadcast reciver
或 interface
来更新您的列表视图。
对于您的情况,另一种解决方案是使用服务。
因为我在服务中使用了以下代码:
public void updateConversationUi() {
if (mOnConversationUpdate != null) {
mOnConversationUpdate.onConversationUpdate();
}
}
其中 onConversationUpdate
是在列表视图发生任何更改时调用的接口。
我正在通过 GCM 从服务器接收数据。我想在 Activity 上更新 ListView。但是,当我收到数据时,它在 BroadcastReceiver 中。如何将该数据发送到 Activity 以便我可以更新 ListView。
编辑:
我正在开发一个 RSS 应用程序。首先,我使用 MainActivity 从我自己的服务器获取所有 RSS 数据并将其显示在 ListView 中。当新数据添加到服务器时,我使用 GCM 获取通知。我在单独的 class 中获取新数据并将此数据存储在 List<FeedItem>
中。但是,问题是我不知道如何将新的 List<FeedItem>
数据发送到 MainActivity 来显示它。就像 FaceBook 中的 "New Feeds"。
当您在接收器中接收数据时,您需要广播 again.and 在 activity 中设置广播接收器,当您收到该广播时更新列表。
public void sendBroadcast()
{
Intent intent = new Intent("send");
intent.putExtra("current speed", "102.4");
intent.putExtra("latitude", "12.2342342");
intent.putExtra("longitude", "12.21124");
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
您可以使用 broadcast reciver
或 interface
来更新您的列表视图。
对于您的情况,另一种解决方案是使用服务。
因为我在服务中使用了以下代码:
public void updateConversationUi() {
if (mOnConversationUpdate != null) {
mOnConversationUpdate.onConversationUpdate();
}
}
其中 onConversationUpdate
是在列表视图发生任何更改时调用的接口。