Android broadcasting implements inter-process communication, which is very simple

Application A sends a broadcast:

public class MainActivity extends AppCompatActivity {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    public void sendBro(View view) {
    
    
        Intent intent = new Intent("广播A");
        intent.putExtra("name","小明");
        sendBroadcast(intent);
    }
}

Application B receives the broadcast:

public class MainActivity extends AppCompatActivity {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final IntentFilter filter = new IntentFilter();
        filter.addAction("广播A");
        BroadcastReceiver mAReceiver = new BroadcastReceiver() {
    
    
            @Override
            public void onReceive(final Context context, final Intent intent) {
    
    
                String action = intent.getAction();
                String msg = intent.getStringExtra("name");
                Log.d("xxx", "应用B收到:" + action + ",name:" + msg);
            }
        };
        registerReceiver(mAReceiver, filter);
    }
}

Both applications A and B are installed, and two broadcasts are sent, see the log:

It's that simple!

Guess you like

Origin blog.csdn.net/zhangjin1120/article/details/124871764#comments_26623595