一.飞行模式
先把各种权限用上
在MainActivity中判断也是吧,权限弄上
接下来,需要创建一个文件, 比如我这个MySysBroadReceiver,还是需要继BroadcastReceiver
调出他的方法onReceive ,这里面用if()判断,
里面的
Bundle builde=intent.getExtras(); boolean state=builde.getBoolean("state");
是为了让软件来判断飞行模式开没开,开了if默认第一个是true,没有开放第二个在if中默认我false
弄完以后要去MainActivity,需要把你创的文件调用
MySysBroadReceiver mySysBroadReceive在r=new MySysBroadReceiver(); IntentFilter intentFilter=new IntentFilter(); 用弄的intentFilter来套用,你为飞行模式弄得频道 intentFilter.addAction("android.intent.action.AIRPLANE_MODE");
最后
registerReceiver(mySysBroadReceiver,intentFilter);
来收尾就可以了
二.插入耳机
这几个可以在一个文件中,在飞行模式下边在弄个if()
因为也和飞行模式一样需要判断他有没有插拔,需要和飞行模式一样先创建
Bundle builde=intent.getExtras(); 在创建int的 int state=builde.getInt("state");
把这些打完以后,也是去MainActivity中用在飞行模式已经创建好的 intentFilter来调用
就可以在用你的手机打开开发者模式,打开USB接口直接软件执行到手机就可以操作了
三 电话
跟上边两个差不多
但是他不用创建Bundle,是换了别的
TelephonyManager telephonyManager=(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
太长了这段,接下来也还是需要定义一个int
int callstate=telephonyManager.getCallState();
来判断是不是在打电话,具体写法如下
最后也还是去MainActivity中和之前两个一样
四网络检查
也是先判断一个if()
在里面定义
ConnectivityManager connectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info =connectivityManager.getActiveNetworkInfo();
在继续if()判断
最后和前几个一样
记得在他们最后一定要添加
registerReceiver(mySysBroadReceiver,intentFilter);
这样他们才可以用