我对Firebase通知服务有疑问。我从firebase控制台发送通知,它成功接收,并且我单击通知,然后打开“ TrackinActivity”,此工作正常。但是,如果用户打开应用程序并停留在“ TrackinActivity”上,然后收到我想要的Firebase通知,而我没有在TrackinActivity中进行任何刷新,则会在TrackinActivity中触发一个功能。无需刷新即可更改TrackinActivity中的某些值。
我的意思是这个功能:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}
我想在不刷新的情况下调用该跟踪活动的功能。
答案 0 :(得分:1)
为此,您必须在共享首选项中设置一个布尔变量
例如isActivityOpened = true
销毁false
并在此活动的"TrackinActivity"
中设置值true
时设置值onCreate
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if(isActivityOpened){//check sharedpreference
//here send local broadcast message and receive in "TrackinActivity"
//on receive method of local broadcast update some values in activity
}else{
//here start activity as usual
}
}
获取有关local broadcast的详细信息