Android 从GCMinentService调用onResume()或onCreate()
我正在开发一个应用程序,它使用Android 从GCMinentService调用onResume()或onCreate(),android,Android,我正在开发一个应用程序,它使用gcminentservice进行推送通知。因此,我想刷新我的TabActivity选项卡中的一个ListView的数据。因此,当我收到和收到gcminentmessage时,是否可以从gcminentservice执行此操作 比如说 SecondTabActivity.callOnResume(); //or something like this 或 我需要在不使用startActivity(intent)的情况下执行此操作;因为如果我做了第二个tabacti
gcminentservice
进行推送通知。因此,我想刷新我的TabActivity
选项卡中的一个ListView
的数据。因此,当我收到和收到gcminentmessage
时,是否可以从gcminentservice
执行此操作
比如说
SecondTabActivity.callOnResume(); //or something like this
或
我需要在不使用
startActivity(intent)
的情况下执行此操作;因为如果我做了第二个tabactivity,它就会从我的TabHost
中消失,并像新的Activity
一样开始。刷新列表视图的函数位于第二个选项卡Activity中的onCreate(
)和onResume()
,因此我想调用它们。如果除此之外还有其他方法,请参考。谢谢一个好方法是使用广播意图
在选项卡Activity的onCreate中,使用Context.registerReceiver方法为名为“MyGCMMessageReceived”的意图注册广播接收器
在该广播接收器中,调用刷新列表的方法
this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// INSERT CODE TO REFRESH LIST VIEW
}
}, new IntentFilter("MyGCMMessageReceived"));
使GCMinentService的onMessage方法广播名为“MyGCMMessageReceived”的意图
您应该在服务到活动通信中使用
在IntentService中,您通过本地广播发送新信息,在TabActivity中,您必须注册一个接收器。在onReceive方法中,必须刷新视图
这里有一个简单的例子:这似乎是一个很好的答案,但我不能完全理解你想说什么。你能给我一些被剪断的代码吗?我还在尝试,我会让你知道它是否有效:)像魔术一样工作!你是真正的“生命救世主”:)非常感谢!保持好的答案像这样来!我浏览了100页谷歌,找不到答案,但你在这里!再次感谢!
this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// INSERT CODE TO REFRESH LIST VIEW
}
}, new IntentFilter("MyGCMMessageReceived"));
Intent intent = new Intent("MyGCMMessageReceived");
this.sendBroadcast(intent);