系统广播
系统广播 能够让我们获取
Intent.ACTION_BATTERY_CHANGED:充电状态,或者电池的电量发生变化
Intent.ACTION_BATTERY_LOW:电池电量低
Intent.ACTION_BATTERY_OKAY:电池电量充足
屏幕亮了", Intent.ACTION_SCREEN_ON
“屏幕锁了”, Intent.ACTION_SCREEN_OFF
本地广播
//发送本地广播,只能本app的广播接收者能够接受
LocalBroadcastManager.getInstance(MainActivity.this).sendBroadcast(intent);
//注册本地广播
LocalBroadcastManager.getInstance(this).registerReceiver(myReceiver,intentFilter);
广播分类 有序 无序 粘性
粘性已过时 特点 广播存在消息池中 注册后取出广播消息
有序 分优先级 -1000—1000 优先级越大 优先级越大越先执行 限制性的可截断广播的发送
无序 最常用
广播 静态注册
清单文件 中 <>注册
动态注册
‘ IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(“com.bw.yanzhengma”);
intentFilter.addAction(“com.bw.zhuce”);
registerReceiver(myReceiver,intentFilter);
’
EventBus 第三方广播框架
全局广播 特点 在一个手机内对上借口号即可 跨App发送广播
本地广播 只可以在自身广播 无法跨应用广播
保存密码
String username = editText1.getText().toString();
String Password = editText2.getText().toString();
SharedPreferences sharedPreferences=getSharedPreferences(“login”, Context.MODE_PRIVATE);
String name = sharedPreferences.getString(“name”, “”);
String pwd = sharedPreferences.getString(“pwd”, “”);
final boolean ischecked = sharedPreferences.getBoolean(“ischecked”, false);
if(ischecked){
checkBox.setChecked(true);
editText1.setText(name);
editText2.setText(pwd);
}
button1=findViewById(R.id.denglu);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(checkBox.isChecked()){
SharedPreferences sharedPreferences1=getSharedPreferences(“login”, Context.MODE_PRIVATE);
sharedPreferences1.edit().putString(“name”,editText1.getText().toString()).putString(“pwd”,editText2.getText().toString()).putBoolean(“ischecked”,true).commit();
}else{
SharedPreferences sharedPreferences1=getSharedPreferences("login",Context.MODE_PRIVATE);
sharedPreferences1.edit().putBoolean("ischecked",false).commit();
}
}
});