文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

ladz3k

http://fabua.ksxb.net/comladz3k/

相关列表
文章列表
  • 暂无文章
推荐文章
联系方式
  • 联系人:李女士
  • 电话:15190405518
Android开发笔记(四十六)手机相关事件手机状态「Android开发笔记(四十六)手机相关事件」
发布时间:2025-02-21        浏览次数:6        返回列表

有一类事件必须依赖于手机信号方能触发,如果把设备中的sim卡拔出,或者该设备本身不支持sim卡(如ipad),那么这类事件将永远不会被触发。在Android中,这类事件包括定位事件和手机信号事件。 与定位有关的类主要有: 1、定位条件器Criteria : 该类用于设置定位的前提条件,比如精度、速度、海拔、方位等等信息。 2、定位管理器LocationManager : 该类用于获取定位信息的提供者,设置监听器,并获取最近一次的位置信息。 3、定位监听器LocationListener : 该类用于监听定位信息的变化事件,如定位提供者的开关、位置信息发生变化等等。

Criteria的常用参数设置方法如下: setAccuracy : 设置定位精确度。有两个取值,ACCURACY_FINE表示精度高,ACCURACY_COARSE表示精度低 setSpeedAccuracy : 设置速度的定位精确度。有两个取值,ACCURACY_HIGH表示精度高,ACCURACY_LOW表示精度低 setAltitudeRequired : 设置是否需要海拔信息。取值true表示需要,false表示不需要 setBearingRequired : 设置是否需要方位信息。取值true表示需要,false表示不需要 setCostAllowed : 设置是否允许运营商收费。取值true表示允许,false表示不允许 setPowerRequirement : 设置对电源的需求。有三个取值,POWER_LOW表示耗电低,POWER_MEDIUM表示耗电中等,POWER_HIGH表示耗电高

管理器类名 : LocationManager 获取管理器实例的方法:

管理器的常用方法如下: getBestProvider : 获取最佳的定位提供者。第一个参数设置条件器Criteria,第二个参数一般取值true。返回值主要有两个:GPS定位返回gps,网络定位返回network isProviderEnabled : 判断指定提供者是否可用 getLastKnownLocation : 获取最近一次的定位地点 requestLocationUpdates : 设置定位监听器

监听器类名 : LocationListener 设置监听器的方法:

其中第一个参数设置定位提供者,第二个参数设置位置更新的最小间隔时间,第三个参数设置位置更新的最小距离,第四个参数设置监听器实例。 监听器需要重写的方法: onLocationChanged : 在位置地点发生变化时调用 onProviderDisabled : 在定位提供者被用户关闭时调用 onProviderEnabled : 在定位提供者被用户开启时调用 onStatusChanged : 在定位提供者的状态发生变化时调用。状态值有三个:OUT_OF_SERVICE表示在服务范围之外,TEMPORARILY_UNAVAILABLE表示暂时不可用,AVAILABLE表示可用

手机开启GPS信号,GPS定位的截图如下:

手机关闭GPS信号,网络定位的截图如下:

定位信息获取的示例代码如下:

手机要能接收基站的信号,才能打电话和发短信。手机制式目前有4G、3G、2G,同样的,基站和信号也分4G、3G、2G。4G的网络是LTE,2G的网络是GSM,3G的网络在国内根据运营商划分(移动是TD,电信是CDMA,联通是WCDMA)。不过基站与信号事件在实际开发中用得不多,一般是运营商的网优业务才会用到。 与基站和信号有关的类主要有: 1、电话管理器TelephonyManager : 该类用于提供运营商信息、蜂窝网络信息、当前的基站信息等等。 2、手机状态监听器PhoneStateListener : 该类用于监听基站或者信号信息的变化事件。

管理器类名 : TelephonyManager 获取管理器实例的方法:

管理器的常用方法如下: getNetworkOperator : 获取运营商信息。返回字符串的前三位是国家代码(中国的为460),后两位是运营商代码(中国移动为0,中国联通为1,中国电信为2) getNetworkType : 获取运营商网络类型。 getNetworkClass : 获取运营商网络类别。取值1表示2G,取值2表示3G,取值3表示4G getCellLocation : 获取当前连接的基站信息。 getNeighboringCellInfo : 获取附近的基站信息。 getAllCellInfo : 获取可连接的所有基站信息。 listen : 设置手机状态监听器。

监听器类名 : PhoneStateListener 设置监听器的方法:

其中第一个参数设置手机状态监听器,第二个参数指定要监听的事件类型。 监听器需要重写的方法: onCellLocationChanged : 在基站位置发生变化时调用,对应的监听类型是LISTEN_CELL_LOCATION onCellInfoChanged : 在基站信息发生变化时调用,对应的监听类型是LISTEN_CELL_INFO onSignalStrengthsChanged : 在信号强度发生变化时调用,对应的监听类型是LISTEN_SIGNAL_STRENGTHS

手机开启4G信号,找到LTE基站和信号信息的截图如下:

手机关闭4G信号,找到TD基站和信号信息的截图如下:

基站和信号获取的示例代码如下: