代码:

  1. /*
  2. * 获取当前的位置,并通过短信发送位置到指定号码
  3. */
  4. public class LocationService extends Service {
  5.  
  6. private LocationManager lm;
  7. private MyLocationListener listener;
  8.  
  9. @Override
  10. public IBinder onBind(Intent intent) {
  11. return null;
  12. }
  13.  
  14. @Override
  15. public void onCreate() {
  16. super.onCreate();
  17.  
  18. lm = (LocationManager) getSystemService(LOCATION_SERVICE);
  19. listener = new MyLocationListener();
  20. Criteria criteria = new Criteria();
  21. criteria.setCostAllowed(true); // 是否允许使用付费
  22. criteria.setAccuracy(Criteria.ACCURACY_FINE); // 获取位置的精度
  23. String provider = lm.getBestProvider(criteria, true);
  24. lm.requestLocationUpdates(provider, 0, 0, listener);
  25. }
  26.  
  27. class MyLocationListener implements LocationListener {
  28. // 位置改变时获取经纬度
  29. @Override
  30. public void onLocationChanged(Location location) {
  31. String j = "jingdu:" + location.getLongitude();
  32. String w = "weidu:" + location.getLatitude();
  33. SharedPreferences mPref = getSharedPreferences("config",
  34. MODE_PRIVATE);
  35. mPref.edit().putString("location", j + ";" + w).commit();
  36. String savedSafeNumber = mPref.getString("safeNumber", "");
  37.  
  38. double[] locationDouble=LocationUtils.standardToChina(location.getLongitude(), location.getLatitude());
  39. SmsManager.getDefault().sendTextMessage(savedSafeNumber, null,
  40. "Phone's location:" + locationDouble[0] + ";" + locationDouble[1], null, null); // 把回复的短信内容由中文修改为英文,中文在模拟器上显示为乱码
  41. stopSelf(); // 获取到经纬度以后,停止该service
  42. }
  43.  
  44. // 状态改变时
  45. @Override
  46. public void onStatusChanged(String provider, int status, Bundle extras) {
  47.  
  48. }
  49.  
  50. // 提供者可以使用时
  51. @Override
  52. public void onProviderEnabled(String provider) {
  53.  
  54. }
  55.  
  56. // 提供者不可以使用时
  57. @Override
  58. public void onProviderDisabled(String provider) {
  59.  
  60. }
  61.  
  62. }
  63.  
  64. @Override
  65. public void onDestroy() {
  66. super.onDestroy();
  67. lm.removeUpdates(listener); // 停止所有的定位服务
  68. }
  69.  
  70. }

Android开发之LocationManager和定位的更多相关文章

  1. 【Android UI】Android开发之View的几种布局方式及实践

    引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...

  2. Android开发之旅: Intents和Intent Filters(理论部分)

    引言 大部分移动设备平台上的应用程序都运行在他们自己的沙盒中.他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互. 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义 ...

  3. Android开发之eclipse 快捷键

    转自:<Android开发之eclipse 快捷键>http://www.cnblogs.com/aimeng/archive/2012/08/07/2626909.html Ctrl+1 ...

  4. Android开发之MdiaPlayer详解

    Android开发之MdiaPlayer详解 MediaPlayer类可用于控制音频/视频文件或流的播放,我曾在<Android开发之基于Service的音乐播放器>一文中介绍过它的使用. ...

  5. Android开发之Java集合类性能分析

    对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天Android吧(ard8. ...

  6. Android开发之InstanceState详解

    Android开发之InstanceState详解   本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...

  7. Android开发之Git配置

    Android开发之Git配置 1.首先git配置: 输入命令: git config --global user.name "xxx.xx" git config --globa ...

  8. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

     今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...

  9. Android开发之Java必备基础

    Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...

随机推荐

  1. owin 中间件 katana 如何解密cookie

    .NET MVC5 默认的用户登录组件是AspNet.Identity ,支持owin,并且微软自己实现的一套owin 中间件叫 katana 补充一下 katana项目源码地址:https://ka ...

  2. ubuntu 14.04 安装 Quartus II 13.1 过程

    神奇的linux! 第一步去官网注册然后下载对应的linux版本,包括软件和设备文件两部分,软件也就是quartus II nios ide,modelsim-altera这些,设备就是具体alter ...

  3. oracle中事务处理

    事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败. 事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户改表的结构 ...

  4. iOS8中的UIAlertController

    转:      iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controlle ...

  5. HTTP 错误 500.21 - Internal Server ErrorHTTP

    应用程序“DEFAULT WEB SITE/WINDRP_TB/TBFXWS”中的服务器错误Internet Information Services 7.5错误摘要HTTP 错误 500.21 - ...

  6. text-align:-moz-center与text-align:-webkit-center区别与用法

    最近发现各浏览器的不兼容,关于text-align:center这个很多浏览器不兼容. 1.测试发现:text-align:center在IE下是管用的. 2.text-align:-moz-cent ...

  7. 剑指offer--面试题13

    题目:以O(1)的时间复杂度删除单链表中的某个节点 自己所写代码如下: //以O(1)时间删除链表节点 //要求:单向链表,头指针,待删节点指针 //链表节点 struct ListNode { in ...

  8. 【Asp.net MVC ---杂七杂八】

    @RenderSection 母模板:_mainLayout.cshtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  9. 地图索引 R-tree

    http://blog.csdn.net/v_JULY_v/article/details/6530142 984年,加州大学伯克利分校的Guttman发表了一篇题为“R-trees: a dynam ...

  10. POJ 1663

    #include<iostream>//cheng da cai zi using namespace std; int main() { int time; cin>>tim ...