android 定位 开发,Android 开发定位Demo

package com.zaizai.safty.service;

import android.Manifest;

import android.app.Service;

import android.content.Context;

import android.content.Intent;

import android.content.SharedPreferences;

import android.content.pm.PackageManager;

import android.location.Criteria;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Bundle;

import android.os.IBinder;

import android.support.annotation.Nullable;

import android.support.v4.app.ActivityCompat;

import java.io.IOException;

import java.io.InputStream;

/**

* Created by zaizai on 2015/11/3.

*/

public class GPSService extends Service {

private static final String TAG = "zaizai";

private LocationManager locationManager;

private MyLocationListener myLocationListener;

@Nullable

@Override

public IBinder onBind(Intent intent) {

return null;

}

@Override

public int checkSelfPermission(String permission) {

return super.checkSelfPermission(permission);

}

@Override

public void onDestroy() {

super.onDestroy();

/*取消监听位置服务*/

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

// TODO: Consider calling

//    public void requestPermissions(@NonNull String[] permissions, int requestCode)

// here to request the missing permissions, and then overriding

//   public void onRequestPermissionsResult(int requestCode, String[] permissions,

//                                          int[] grantResults)

// to handle the case where the user grants the permission. See the documentation

// for Activity#requestPermissions for more details.

return;

}

locationManager.removeUpdates(myLocationListener);

myLocationListener = null;

}

@Override

public void onCreate() {

super.onCreate();

locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

myLocationListener = new MyLocationListener();

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

// TODO: Consider calling

//    public void requestPermissions(@NonNull String[] permissions, int requestCode)

// here to request the missing permissions, and then overriding

//   public void onRequestPermissionsResult(int requestCode, String[] permissions,

//                                          int[] grantResults)

// to handle the case where the user grants the permission. See the documentation

// for Activity#requestPermissions for more details.

return;

}

/*给位置提供者设置条件*/

Criteria criteria = new Criteria();

criteria.setAccuracy(Criteria.ACCURACY_FINE);

//设置参数细化:

//criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度

//criteria.setAltitudeRequired(false);//不要求海拔信息

//criteria.setBearingRequired(false);//不要求方位信息

//criteria.setCostAllowed(true);//是否允许付费

//criteria.setPowerRequirement(Criteria.POWER_LOW);//对电量的要求

String proveder = locationManager.getBestProvider(criteria, true);

locationManager.requestLocationUpdates(proveder, 0, 0, myLocationListener);

}

class MyLocationListener implements LocationListener {

/**

* 位置改变时回调

*

* @param location

*/

@Override

public void onLocationChanged(Location location) {

/*经度*/

String logitude = "j" + location.getLongitude() + "\n";

String latitude = "w" + location.getLatitude() + "\n";

String accuracy = "a" + location.getAccuracy() + "\n";

}

/**

* 状态发生改变时回调

*

* @param provider

* @param status

* @param extras

*/

@Override

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

}

/**

* Called when the provider is enabled by the user.

*

* @param provider

*/

@Override

public void onProviderEnabled(String provider) {

}

/**

* Called when the provider is disabled by the user. If requestLocationUpdates is called on an already disabled provider, this method is called immediately.

*

* @param provider

*/

@Override

public void onProviderDisabled(String provider) {

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值