问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何通过在调用Service服务在后台启动GPS定

发布网友 发布时间:2022-04-27 06:10

我来回答

1个回答

热心网友 时间:2022-06-27 10:35

1 从Service继承一个类。
2 创建startService()方法。
3 创建endService()方法 重载onCreate方法和onDestroy方法,并在这两个方法里面来调用startService以及endService。
4 在startService中,通过getSystemService方法获取Context.LOCATION_SERVICE。
5 基于LocationListener实现一个新类。默认将重载四个方法onLocationChanged、onProviderDisabled、onProviderEnabled、onStatusChanged。对于onLocationChanged方法是我们更新最新的GPS数据的方法。一般我们的操作都只需要在这里进行处理。
6 调用LocationManager的requestLocationUpdates方法,来定期触发获取GPS数据即可。在onLocationChanged函数里面可以实现我们对得到的经纬度的最终操作。
7 最后在我们的Activity里面通过按钮来启动Service,停止Service。
示意代码如下:
package com.offbye.gpsservice;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;
public class GPSService extends Service {
// 2000ms
private static final long minTime = 2000;
// 最小变更距离10m
private static final float minDistance = 10;
String tag = this.toString();
private LocationManager locationManager;
private LocationListener locationListener;
private final IBinder mBinder = new GPSServiceBinder();
public void startService() {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSServiceListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minDistance,
locationListener);
}
public void endService() {
if (locationManager != null && locationListener != null) {
locationManager.removeUpdates(locationListener);
}
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return mBinder;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
YY聊天中哪些语音的会不会作为文件存下来 2023谷雨节气的含义 谷雨三候是什么 我老公欠债,外遇,我想离婚,怎么办 ...我提供了我的姓名,出生年月日,还有工作地点,会出什么事吗... 刚刚接到一个诈骗电话,问我要了我的姓名和出生年月日,会不会利用... 不小心接到骗子的电话,还告诉了我的姓名和出生年月日,要不要紧啊... 知道了姓名和出生年月日,能拿来作案吗? WOW安装要CD 是什么问题? 急急急、、、魔兽世界用盘安装时老要CD片 时怎么回事 取消以后就安装不... 每次下载魔兽世界安装中途都会断掉,要求插入什么CD,然后出现这么一段文... vs2010怎么调用web服务webservice方法 asp.net中编写 windows 服务程序如何调用 请描述bindService()启动服务的流程,并说明如何调用服务里自定义的方法。 及如何在js中调用服务 谁能解释一下李清照的一剪梅 一剪梅 李清照诗句 《一剪梅》这首诗的意思是什么? 李清照一剪梅·红藕香残玉簟秋的写作背景 李清照一剪梅注音 李清照的"一剪梅"诗词... 李清照一剪梅诗词解析 李清照经典《一剪梅》原文及翻译 李清照一剪梅诗词 李清照诗词一剪梅 李清照的《一剪梅》全文是什么? 李清照的《一剪梅》全词 李清照《一剪梅》的详细翻译 李清照的古诗词《一剪梅》原文是什么? 人们是怎样用条形码?条形码有什么好处?能了解有关条形码的指示么? 条形码有什么用?一个条形码包含哪些信息? 如何用JavaScript调用Web服务 C#中如何调用服务器上的IIS上某个指定的站点重启 java分布式服务器之间怎么调用 如何调用windows服务中的函数 asp.net项目添加web service服务后,如何调用这个服务?? 用金山打出来的文件怎么能转化成word的形式? 如何把金山文字转换成为word所接受的格式呢? 论述商业银行的性质及其主要职责 有效锻炼孩子的思维能力,有哪些好的办法? 要锻炼小孩的逻辑思维能力,有什么比较好的办法吗? 有效锻炼孩子的思维能力,会有哪些好的办法? 要锻炼小孩的逻辑思维能力,有哪些好的做法? 如何锻炼孩子的思维?有什么好的办法? 有效锻炼孩子的思维能力,有什么好的办法吗? 有效锻炼宝宝的思维能力,有哪些好的办法? 自制国风万圣节灯笼怎么做 锻炼孩子思维能力,可以通过什么样的亲子活动来锻炼? 训练孩子的思维能力,怎样才能起到良好效果? 有什么方法可以提高孩子的思维活力? 火花塞品牌排行榜前十名