Android Firebase 推送通知双精度值



大家好,我正在Android中实现Firebase推送通知。一切正常,除了当我检索消息时,它们被重复了两次。我尝试了一整天的调试,但没有成功。请帮帮我!我正在使用共享首选项来存储消息。我正在通过 API 及其基于主题发送。

下面是我的 MyFirebaseMessagingService 类的 onMessageReceived(( 方法代码

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    Log.d(TAG, "From: " + remoteMessage.getFrom());
    if (remoteMessage.getData().size() > 0) {
      Log.d(TAG, "Message data payload: " + remoteMessage.getData());
    }
    String message = remoteMessage.getData().get("message");
    SharedPreferences sp = getSharedPreferences("mypreference", Context.MODE_PRIVATE);
    String prev = sp.getString("msg", "-");
    String newp;
    if(prev != "-"){
      newp = prev+","+messageBody;
    }else{
      newp = messageBody;
    }
   Log.d("prev123",prev);
   SharedPreferences.Editor e = sp.edit();
   e.putString("msg",newp);
   Log.d("afterstore", newp);
   e.commit();
   e.apply();
}

我显示消息的类是:

@Override
public void onResume() {
 super.onResume();
 String msg = sp.getString("msg", null);
 Log.d("message", msg);
 String[] pqrs = msg.split(",");
 Log.d("Array msg",pqrs);
 ArrayAdapter<String> adp = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,android.R.id.text1,pqrs);
 listView.setAdapter(adp);

在日志中,收到消息后,它会显示,但就在第二条消息的分数之后,相同的消息被附加到日志中。不知道怎么做。请帮忙。

我不明白到底有什么重复的。 İ如果它是您保存的数据,则可能是您保存两次的原因。

e.commit(); 
e.apply()

只需使用其中之一。它们执行与异步或同步相同的操作。

祝你好运

埃姆雷

删除提交行后是否清除了应用程序的数据?修复后,您可能会使用旧的重复数据进行测试?

此外,如果您在其他类中的调用意图,请尝试将其删除。据我所知,它是由火力基地的基类自动调用的。

相关内容

  • 没有找到相关文章

最新更新