Android Studio BroadCastReceiver广播(day10)

Android Studio BroadCastReceiver广播

    • BroadCastReceiver
    • 代码片段

BroadCastReceiver

作用:传递数据(1、同一个APP中多个组件之间,2、不同APP之间)。

注册方式:
静态注册:清单文件中(本APP中的类都可以获取到值)
动态注册:ACticity或其他组件中,只能注册者收到值

用法:
发送方:Intent intent = new Intent(“注册的action”);
intent.putStringExtra(“k”,“v”);
sendBroadCast(intent);

接收方:
自定义类继承BroadCastReceiver
重写receiver(Intent intent)
判断匹配注册的Activity
intent.getSting(“k”);从intent中获取值
注意:接收方可以定义为内部类也可以写为外部类(跨APP)

代码片段

创建广播接收者类
Android Studio BroadCastReceiver广播(day10)_第1张图片
本类接受

public class MainActivity extends AppCompatActivity {

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

        Intent intent = new Intent("666");
        intent.putExtra("key","传递数据");
        sendBroadcast(intent);
    }

}

MyReceiver类

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("666")){
            String key = intent.getStringExtra("key");
            Log.i("####",key);
        }
    }
}

控制台输出效果
在这里插入图片描述

你可能感兴趣的:(Android Studio BroadCastReceiver广播(day10))