无废话,上代码。此代码为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. C语言函数以及函数的使用
  2. Android代码混淆一定要Export Android Application,否则不起效
  3. android view的触摸事件坐标
  4. 第一行代码笔记之——Activity启动模式
  5. Android:简单联网获取网页代码
  6. Android 开发笔记 - Android Studio 代码模板
  7. android源代码下载及编译
  8. android 用代码画圆
  9. android用代码实现圆角背景

随机推荐

  1. 新 Android在一个APP中通过包名或类名启
  2. 全屏与非全屏动态切换的正确方式
  3. android学习日志
  4. Android(安卓)四大组件(Activity、Servic
  5. android 模拟键盘鼠标事件相关
  6. Android(安卓)- SQLite in Android
  7. (转)Android软件测试的日志文件抓取简介
  8. Android之dialog
  9. Android(安卓)错误集锦(ing...)
  10. Activity 属性设置参数说明