BroadcastReceiver onReceive 函数运行两次
The BroadcastReceiver onReceive function runs two times
这是我的消息来源。我正在使用 GCM 推送通知将消息发送到一个应用程序到另一个应用程序。消息发送时第一次onReceive()方法只调用一次消息,发送第二次或多次onReceive()方法调用两次我怎么解决。
BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString(Config.EXTRA_MESSAGE);
if(newMessage.equals("request"))
{
System.out.println("Before Request Count"+reqcount);
Userdetails();
}
else if(newMessage.equals("cancel"))
{
requestcanceled();
}
else
{
}
}
}
非常感谢...
我认为这可能是 GCM 错误。许多用户遇到了同样的问题。查看 this thread 了解更多详情
您好,您找到了解决该问题的方法。
BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString(Config.EXTRA_MESSAGE);
context.unregisterReceiver(this); // this line I will added.
if(newMessage.equals("request"))
{
System.out.println("Before Request Count"+reqcount);
Userdetails();
}
else if(newMessage.equals("cancel"))
{
requestcanceled();
}
else
{
}
}
registerReceiver(mHandleMessageReceiver, new IntentFilter(Config.DISPLAY_MESSAGE_ACTION));
}
收到消息后,只需注销收件人并再次注册收件人即可。现在它对我来说工作正常。
这是我的消息来源。我正在使用 GCM 推送通知将消息发送到一个应用程序到另一个应用程序。消息发送时第一次onReceive()方法只调用一次消息,发送第二次或多次onReceive()方法调用两次我怎么解决。
BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString(Config.EXTRA_MESSAGE);
if(newMessage.equals("request"))
{
System.out.println("Before Request Count"+reqcount);
Userdetails();
}
else if(newMessage.equals("cancel"))
{
requestcanceled();
}
else
{
}
}
}
非常感谢...
我认为这可能是 GCM 错误。许多用户遇到了同样的问题。查看 this thread 了解更多详情
您好,您找到了解决该问题的方法。
BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString(Config.EXTRA_MESSAGE);
context.unregisterReceiver(this); // this line I will added.
if(newMessage.equals("request"))
{
System.out.println("Before Request Count"+reqcount);
Userdetails();
}
else if(newMessage.equals("cancel"))
{
requestcanceled();
}
else
{
}
}
registerReceiver(mHandleMessageReceiver, new IntentFilter(Config.DISPLAY_MESSAGE_ACTION));
}
收到消息后,只需注销收件人并再次注册收件人即可。现在它对我来说工作正常。