BroadcastReceiver и Retrofit создают проблему - PullRequest
0 голосов
/ 31 мая 2019

Я использую BroadcastReceiver для обработки данных из FCM в своей деятельности.

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    BroadcastReceiver mBroadcast = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context,Intent intent){
            if(intent.getAction().equals("a")){
                function_a();
            }else if(intent.getAction().equals("b")){
                function_b();
            }
        }
   };

   IntentFilter filter = new IntentFilter("a");
   filter.addAction("b");
   LocalBroadcastReceiver.getInstance(this).registerReceiver(mBroadcast,filter);

   MyClient myClient = ServiceGenerator.createService(MyClient.class);
   Call<SampleItem> call = myClient.addSample(sampleData);

   call.enqueue(new Callback<SampleItem>() {
       @Override
       public void onResponse(Call<SampleItem> call, Response<SampleItem> response){

           function_c();
       }
       @Override
       public void onFailure(Call<SampleItem> call, Throwable t){

       }
   });
}

Retrofit отправка данных в API и для ответа выполняется function_c().Но после этого код запускает function_b() и function_a()

Почему ответ Retrofit влияет на BroadcastReceiver функции?

...