广播
广播
系统发广播 APP接受接收
MainActivity类
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
public static TextView textView;
private MyBroadcastReceiver myBroadcastReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
}
@Override
protected void onResume() {
super.onResume();
myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
/***
* Android中内置了多个系统广播:只要涉及到手机的基本操作(如开机、网络状态变化、拍照等等),都会发出相应的广播
* 每个广播都有特定的Intent - Filter(包括具体的action)我现在用的就是飞行模式的
*/
intentFilter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
//动态注册广播 Android 8.0 取消了大部分静态注册广播
registerReceiver(myBroadcastReceiver,intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
//销毁广播
unregisterReceiver(myBroadcastReceiver);
}
}
MyBroadcastReceiver类
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyBroadcastReceiver extends BroadcastReceiver {
//接收到广播之后会执行的方法
@Override
public void onReceive(Context context, Intent intent) {
MainActivity.textView.setText(“开启了飞行模式”);
}
}
作者:康小博
链接:https://www.jianshu.com/p/c47ad96c9f76
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。