专高一day13真机测试包括电话,飞行模式,插拔耳机,电话,和网络

一.飞行模式

先把各种权限用上

 

在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);

这样他们才可以用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值