新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于Android的位置实时监控系统的设计与实现

基于Android的位置实时监控系统的设计与实现

作者:张维文 孙耀杰 李利娟时间:2015-04-23来源:电子产品世界收藏

  2.3 程序实现

本文引用地址:http://www.eepw.com.cn/article/273085.htm

  一是定位功能的实现。充分利用智能手机内置定位模块,基于Eclipse开发平台通过程序的调用,实现定位功能,手机运行结果如图4所示。其实现代码如下:

  /**
  * 将获得的位置信息显示出来
  * @param location
  */
  private void setLocation(Location location){
  if (location != null) {
  String latitudeStr = Double.toString(location.getLatitude());//经度
  String longitudeStr = Double.toString(location.getLongitude());//纬度
  String altitudeStr = Double.toString(location.getAltitude());//海拔
  // 获取当前时间
  SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.CHINA);
  String dateStr = sDateFormat.format(new java.util.Date());
  gpsTime.setText(dateStr);
  if (latitudeStr != null && !latitudeStr.equals("")) {
  latitude.setText(latitudeStr);
  }
  if (longitudeStr != null && !longitudeStr.equals("")) {
  longitude.setText(longitudeStr);
  }
  if (altitudeStr != null && !altitudeStr.equals("")) {
  altitude.setText(altitudeStr);
  }
  } else {
  Log.v("location", "location为空");
  }
  }

  二是经纬度信息发送功能的实现。根据事先设置好的监控端手机号码,按照发送频率(时间间隔),将经纬度发送到监控端。其实现代码如下:

  /**
  * 发送短信
  * @param smsContent 短信内容
  */
  private void sendSMS(String smsContent){
  //获取短信管理器
  SmsManager smsManager = SmsManager.getDefault();
  //拆分短信内容
  List divideContents = smsManager.divideMessage(smsContent);
  if (curPhoneNum == null || curPhoneNum.equals("")) {
  new AlertDialog.Builder(MainActivity.this).setTitle("警告").setMessage("您还未设置目标电话号码").create().show();
  return;
  }
  //发送短信
  for (String text : divideContents) {
  smsManager.sendTextMessage(curPhoneNum, null, text, null, null);
  }
  }



评论


相关推荐

技术专区

关闭