• GPS追踪服务


    public class GPSService extends Service {
    private LocationManager lm;
    private MyListener listener;
    private SharedPreferences sp;

    @Override
    public IBinder onBind(Intent intent) {
    return null;
    }

    @Override
    public void onCreate() {
    lm = (LocationManager) getSystemService(LOCATION_SERVICE);
    sp = getSharedPreferences("config", MODE_PRIVATE);

    // 查询条件
    Criteria criteria = new Criteria();
    // 精确到
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    // 关心海拔
    criteria.setAltitudeRequired(true);
    // 运行产生开销
    criteria.setCostAllowed(true);
    // 允许最大电量请求
    criteria.setPowerRequirement(Criteria.POWER_HIGH);
    String provider = lm.getBestProvider(criteria, true);
    System.out.println("最好的提供者:" + provider);
    listener = new MyListener();
    lm.requestLocationUpdates(provider, 0, 0, listener);
    super.onCreate();
    }

    private class MyListener implements LocationListener {

    // 当位置变化的时候 调用的方法
    @Override
    public void onLocationChanged(Location location) {
    String longitude = "jingdu:" + location.getLongitude();
    String latitude = "weidu:" + location.getLatitude();
    String accuacy = "jingquedu:" + location.getAccuracy();
    Editor editor = sp.edit();
    editor.putString("last_location", latitude + longitude + accuacy);
    editor.commit();
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }

    }

    @Override
    public void onDestroy() {
    lm.removeUpdates(listener);
    listener = null;
    super.onDestroy();
    }
    }

    <service android:name="com.itheima.mobilesafe.service.GPSService" ></service>

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />//精确定位
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />//大体定位
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />//模拟器专用

  • 相关阅读:
    Webpack打包原理
    Vue——VNode
    Vue——响应式原理
    HTTP2.0——头部压缩
    HTTP2.0
    浏览器打开2个页面会有几个进程?
    计算机网络——TCP如何保证可靠性
    操作系统——进程之间的通信
    前端路由hash与history下
    前端路由hash与history上
  • 原文地址:https://www.cnblogs.com/bravolove/p/4988186.html
Copyright © 2020-2023  润新知