获取基站信息
《获取基站信息》由会员分享,可在线阅读,更多相关《获取基站信息(4页珍藏版)》请在装配图网上搜索。
1、1.1获取基站信息需要用到的类:类此类用于访问设备上的电话通讯服务的信息。此类不能直接实例化,需由Context.getSystemService(Context.TELEPHONY_SERVICE)获取其实例。此外访问电话通讯服务的信息需要相应的权限(代码部分有说明)。1. GsmCellLocation类此类封装了GSM移动电话的基站信息。3代码实现:/获取TelephonyManager实例TelephonyManagertManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);/获取圭寸装了基站信息的G
2、smCellLocation对象(此函数调用需要ACCESS_COARSE_LOCATION或者ACCESS_FINE_LOCATION权限)GsmCellLocationgsm=(GsmCellLocation)tManager.getCellLocation();/得到LACintlac=gsm.getLac();/得到CIDintcid=gsm.getCid();1.2获取GPS信息获取GPS的步骤:父类1.在Activity或Service中通过的方法获取LocationManager对象:mLocMgr=(LocationManager)getSystemService(LOCATI
3、ON_SERVICE);2.给要获取GPS数据的对象注册GPS监听器,通过LocationManager的requestLocationUpdates(Stringprovider,longminTime,floatminDistanee,LocationListenerlistener)方法进行注册参数列表:provider要注册的Provider,这里为LocationManager.GPS_PROVIDERminTime接受数据的最小的时间间隔,单位毫秒。这个时间不一定准确,不过要注意的是更新时间间隔也短越耗电minDistanee进行更新的最小距离,单位米Listener要监听GPS数
4、据的对象。要注意:如果一直打开GPS会十分消耗电量,所以一般要设置一个较大的minTime值,一般不要小于60000注意:调用requestLocationUpdates的线程必须有一个Looper,如果线程没有Looper,可以调用Loop.prepare()为该线程建立一个消息队列。相应代码:GPS_PROVIDmLocMgr.requestLocationUpdates(LocationManager.ER,60000,0,listener);通过监听器获取数据LocationListenerlistener=newLocationListener()/位置改变时的回调方法Overrid
5、epublicvoidonLocationChanged(Locationloc)if(loc!=null)/获取经度数据loc.getLongitude();loc.getLatitude();/GPS被用户禁用的回调方法OverridepublicvoidonProviderDisabled(Stringarg0)/TODOAuto-generatedmethodstub/GPS被用户开启的回调方法OverridepublicvoidonProviderEnabled(StringargO)/TODOAuto-generatedmethodstub/GPS状态改变的回调方法Override
6、publicvoidonStatusChanged(StringargO,intarg1,Bundlearg2)/TODOAuto-generatedmethodstub;如果要节约电量,可以在onLocationChanged()回调方法中每次获取经纬度数据后调用LocationManager对象的removeUpdates(listener);方法注销已经注册的监听器,这要就不会再接受GPS数据的更新。此夕卜LocationManager类还提供了一个getLastKnownLocation(Stringprovider)的方法,此方法返回一个Location对象,我们可以通过getLas
7、tKnownLocation(LocationManager.GPS_PROVIDER)获取最后一个获取到的GPS数据,数据封装在Location对象中。但此方法提供的数据有可能是过时的,因为用户可能关掉手机到达另外一个新地点。如果GPS被禁用此方法返回null.如果一直没有调用LocationManager.requestLocationUpdates。注册GPS监听器获取数据,getLastKnownLocation每次返回的值都一样。获取GPS信息需要以下两种权限:vuses-permissionandroid:name=android.permission.LOCATION/vuses
8、-permissionandroid:name=android.permission.ACCESS_FINE_LOCATION/i=实际只需vuses-permissionandroid:name=android.permission.ACCESSFINELOCATION/权限即可。1.3获取MCC和MNCTelephonyManagertManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);返回MCC+MNCStringinfo=tManager.getNetworkOperator();1.4技术实现方式获取LBS信息要获取LAC或MMC或MNC信息都比较容易,只要把上述代码简单封装成一个类,然后在传给这个类一个CONTEXT对象,就可以随时获取所需信息。获取GPS信息要获取GPS数据,目前有以下2种方法:1) 做一个SERVICE对象,让这个SERVICE一直监听GPS数据,我们可以通过绑定这个SERVICE获取到最近更新的GPS数据。2) 直接通过LocationManager.getLastKnownLocation()方法得到GPS设备最后一次获取的位置。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。