-1

i created a Broadcast Receiver for service feedback with activity. But this not work. Debugger -- after calling sendBroadcast from the service, skips this (LocalBroadcastManager.getInstance(this).sendBroadcast(RTReturn);) line and does not cause Activity

This is Activity
package com.example.my;

 BroadcastReceiver br;
public static final String RECEIVE_JSON = 
"com.example.my.RECEIVE_JSON";
 public class cama extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
    xcxc();
    xcx();
            }

    public void xcxc()
    {
     br = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(RECEIVE_JSON)) {
        String serviceJsonString = intent.getStringExtra("json");
                Toast toast = Toast.makeText(getApplicationContext(),
                        "Test!", Toast.LENGTH_SHORT);
                toast.show();
        }
         }
        };
   }
public void xcx()
{
    LocalBroadcastManager bManager;
    bManager = LocalBroadcastManager.getInstance(this);
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(RECEIVE_JSON);
    bManager.registerReceiver(br, intentFilter);
}

      @Override
public void onDestroy() {
    super.onDestroy();
    if (br != null) {
    unregisterReceiver(br);
    }
       }

This is Service

package com.example.my;
public class MyService extends Service
      @Override
     public void onCreate() {
       do_anything();
         }
     public void do_anything()
     {Intent RTReturn = new Intent(cama.RECEIVE_JSON);
     RTReturn.putExtra("json", "ole");
     LocalBroadcastManager.getInstance(this).sendBroadcast(RTReturn);}

1 Answers1

0

just use inside onCreate(Bundle savedInstanceState):

LocalBroadcastManage 
mlocal = LocalBroadcastManager.getInstance(getApplicationContext());

mlocal.sendBroadcast(YOUR Reciever)
Gsk
  • 2,929
  • 5
  • 22
  • 29