无废话,上代码。此代码为Location功能的简单封装。


package arui.csdn.net;

  1. importstaticandroid.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS;
  2. importandroid.app.Activity;
  3. importandroid.content.Context;
  4. importandroid.content.Intent;
  5. importandroid.location.Location;
  6. importandroid.location.LocationListener;
  7. importandroid.location.LocationManager;
  8. importandroid.os.Bundle;
  9. publicclassLocationUtil{
  10. publicstaticbooleanisEnabled(Contextcontext){
  11. LocationManagermLocationManager=(LocationManager)context
  12. .getSystemService(Context.LOCATION_SERVICE);
  13. if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
  14. returntrue;
  15. }
  16. if(mLocationManager
  17. .isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
  18. returntrue;
  19. }
  20. returnfalse;
  21. }
  22. publicstaticvoidstartLocationService(Contextcontext){
  23. LocationManagermLocationManager=(LocationManager)context
  24. .getSystemService(Context.LOCATION_SERVICE);
  25. mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
  26. 1000L,10,mLocationListener);
  27. mLocationManager.requestLocationUpdates(
  28. LocationManager.NETWORK_PROVIDER,1000L,10,
  29. mLocationListener);
  30. }
  31. publicstaticvoidstopLocationService(Contextcontext){
  32. LocationManagermLocationManager=(LocationManager)context
  33. .getSystemService(Context.LOCATION_SERVICE);
  34. mLocationManager.removeUpdates(mLocationListener);
  35. }
  36. publicstaticLocationgetLocationByGPS(Contextcontext){
  37. LocationManagermLocationManager=(LocationManager)context
  38. .getSystemService(Context.LOCATION_SERVICE);
  39. Locationlocation=mLocationManager
  40. .getLastKnownLocation(LocationManager.GPS_PROVIDER);
  41. returnlocation;
  42. }
  43. publicstaticLocationgetLocationByNetwork(Contextcontext){
  44. LocationManagermLocationManager=(LocationManager)context
  45. .getSystemService(Context.LOCATION_SERVICE);
  46. Locationlocation=mLocationManager
  47. .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
  48. returnlocation;
  49. }
  50. publicstaticvoidopenLocationSetting(Activityact,intrequestCode){
  51. act.startActivityForResult(newIntent(ACTION_LOCATION_SOURCE_SETTINGS),
  52. requestCode);
  53. }
  54. privatestaticfinalLocationListenermLocationListener=newLocationListener(){
  55. publicvoidonLocationChanged(Locationlocation){
  56. //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
  57. System.out.println("onLocationChanged:"+location.getLatitude());
  58. }
  59. publicvoidonProviderDisabled(Stringprovider){
  60. //Provider被disable时触发此函数,比如GPS被关闭
  61. System.out.println("onProviderDisabled:"+provider);
  62. }
  63. publicvoidonProviderEnabled(Stringprovider){
  64. //Provider被enable时触发此函数,比如GPS被打开
  65. System.out.println("onProviderEnabled:"+provider);
  66. }
  67. publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){
  68. //Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
  69. System.out.println("onStatusChanged:"+status);
  70. }
  71. };
  72. }

需要增加权限:

<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" />

---------------------------------------------------------------------------

GL(arui319)

http://blog.csdn.net/arui319

<本文可以转载,但是请保留以上作者信息。谢谢。>

---------------------------------------------------------------------------

更多相关文章

  1. android 处理鼠标滚轮事件
  2. android view的触摸事件坐标
  3. android bounceScrollView
  4. android drawBitmapMesh
  5. Android(安卓)OkHttp的Cookie自动化管理
  6. 学个明白--Android世界的坐标系
  7. Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程
  8. Android实现电池管理系统
  9. Android调用WebService系列之封装能力

随机推荐

  1. android 获取汉字拼音
  2. 修改android默认时区语言
  3. Android发送短信功能代码
  4. 新建ArcGIS Project for Android项目失败
  5. android工程下轻松运行java main程序
  6. Android学习笔记(九)之Android(安卓)获取
  7. MVP -----个人理解与示例(android例子 实
  8. android toast 和checkbox and radiogrou
  9. android中调用金山词霸
  10. Android显示图片自适应(控件+网页)