Java 类android.location.Criteria 实例源码
项目:GitHub
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
// 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
// 设置是否需要方位信息
criteria.setBearingRequired(false);
// 设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:Android-UtilCode
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
// 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
// 设置是否需要方位信息
criteria.setBearingRequired(false);
// 设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:AndroidUtilCode-master
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
// 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
// 设置是否需要方位信息
criteria.setBearingRequired(false);
// 设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:letv
文件:Util.java
public static String getLocation(Context context) {
if (context == null) {
return "";
}
try {
LocationManager locationManager = (LocationManager) context.getSystemService(HOME_RECOMMEND_PARAMETERS.LOCATION);
Criteria criteria = new Criteria();
criteria.setCostAllowed(false);
criteria.setAccuracy(2);
String bestProvider = locationManager.getBestProvider(criteria, true);
if (bestProvider != null) {
Location lastKnownLocation = locationManager.getLastKnownLocation(bestProvider);
if (lastKnownLocation == null) {
return "";
}
double latitude = lastKnownLocation.getLatitude();
g = latitude + "*" + lastKnownLocation.getLongitude();
return g;
}
} catch (Throwable e) {
f.b("getLocation", "getLocation>>>", e);
}
return "";
}
项目:Coder
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
// 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
// 设置是否需要方位信息
criteria.setBearingRequired(false);
// 设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:boohee_v5.6
文件:Util.java
public static String getLocation(Context context) {
if (context == null) {
return "";
}
try {
LocationManager locationManager = (LocationManager) context.getSystemService
("location");
Criteria criteria = new Criteria();
criteria.setCostAllowed(false);
criteria.setAccuracy(2);
String bestProvider = locationManager.getBestProvider(criteria, true);
if (bestProvider != null) {
Location lastKnownLocation = locationManager.getLastKnownLocation(bestProvider);
if (lastKnownLocation == null) {
return "";
}
double latitude = lastKnownLocation.getLatitude();
g = latitude + "*" + lastKnownLocation.getLongitude();
return g;
}
} catch (Throwable e) {
f.b("getLocation", "getLocation>>>", e);
}
return "";
}
项目:boohee_v5.6
文件:DefaultLocationProvider.java
private void requestLocation(Context context, int i) {
Criteria criteria = new Criteria();
criteria.setAccuracy(i);
String bestProvider = this.mLocationManager.getBestProvider(criteria, true);
if (bestProvider != null) {
this.mProvider = bestProvider;
}
Log.d(TAG, "Get location from " + this.mProvider);
try {
if (!TextUtils.isEmpty(this.mProvider)) {
Location lastKnownLocation = this.mLocationManager.getLastKnownLocation(this
.mProvider);
if (lastKnownLocation != null) {
this.mLocation = lastKnownLocation;
} else if (this.mLocationManager.isProviderEnabled(this.mProvider) && this
.mListener != null && (context instanceof Activity)) {
this.mLocationManager.requestLocationUpdates((Activity) context, this
.mProvider, 1, 0.0f, this.mListener);
}
}
} catch (IllegalArgumentException e) {
}
}
项目:BaseCore
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
//设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
//设置是否需要方位信息
criteria.setBearingRequired(false);
//设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:appinventor-extensions
文件:LocationSensor.java
/**
* Creates a new LocationSensor component.
*
* @param container ignored (because this is a non-visible component)
*/
public LocationSensor(ComponentContainer container) {
super(container.$form());
handler = new Handler();
// Set up listener
form.registerForOnResume(this);
form.registerForOnStop(this);
// Initialize sensor properties (60 seconds; 5 meters)
timeInterval = 60000;
distanceInterval = 5;
// Initialize location-related fields
Context context = container.$context();
geocoder = new Geocoder(context);
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
locationCriteria = new Criteria();
myLocationListener = new MyLocationListener();
allProviders = new ArrayList<String>();
// Do some initialization depending on the initial enabled state
Enabled(enabled);
}
项目:HeadlineNews
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
// 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
// 设置是否需要方位信息
criteria.setBearingRequired(false);
// 设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:RLibrary
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
//设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
//设置是否需要方位信息
criteria.setBearingRequired(false);
//设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:InsanityRadio-Android
文件:DefaultLocationProvider.java
@Override
public Location getLocation(Context context) {
if(config != null && config.getBooleanProperty(SocializeConfig.SOCIALIZE_LOCATION_ENABLED, true)) {
if(location == null) {
if(appUtils.hasPermission(context, "android.permission.ACCESS_FINE_LOCATION")) {
requestLocation(context, Criteria.ACCURACY_FINE);
}
else if(appUtils.hasPermission(context, "android.permission.ACCESS_COARSE_LOCATION")) {
requestLocation(context, Criteria.ACCURACY_COARSE);
}
}
else if(logger != null && logger.isDebugEnabled()) {
logger.debug("LocationProvider got location");
}
}
return location;
}
项目:AndroidUtilCode
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
// 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
// 设置是否需要方位信息
criteria.setBearingRequired(false);
// 设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:AndroidTest
文件:activity_location.java
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
setContentView(R.layout.activity_location);
tv_location = (TextView) findViewById(R.id.tv_location);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setCostAllowed(true);
criteria.setAccuracy(Criteria.ACCURACY_FINE);
String bestProvider = lm.getBestProvider(criteria, true);
MyLocationListener myLocationListener = new MyLocationListener();
lm.requestLocationUpdates(bestProvider, 0, 0, myLocationListener);
}
项目:ttnmapperandroid
文件:MapsActivity.java
private Location getLatestLocation() {
// Enable MyLocation Layer of Google Map
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getApplicationContext(), "No permission to get location information.", Toast.LENGTH_LONG).show();
return null;
}
// Get LocationManager object from System Service LOCATION_SERVICE
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Create a criteria object to retrieve provider
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// Get the name of the best provider
String provider = locationManager.getBestProvider(criteria, true);
// Get Current Location
return locationManager.getLastKnownLocation(provider);
}
项目:GeoShare_Android
文件:TrackingService.java
@SuppressLint("MissingPermission")
private void setupLocationListener() {
locationListener = new LocationListener();
locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
TIME_TO_UPDATE = Integer.parseInt(sharedPreferences.getString("sync_frequency", "60")) * 1000;
Criteria criteria = new Criteria();
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(true);
criteria.setSpeedRequired(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setCostAllowed(true);
bestProvider = locationManager.getBestProvider(criteria, false);
locationManager.requestLocationUpdates(bestProvider, TIME_TO_UPDATE, DISTANCE_TO_CHANGE, locationListener);
}
项目:GeoShare_Android
文件:MapsFragment.java
@SuppressLint("MissingPermission")
private void setupLocationChangeListener() {
/* SETTING UP LOCATION CHANGE LISTENER */
locationListener = new LocationListener();
locationManager = (LocationManager) Application.getContext().getSystemService(Context.LOCATION_SERVICE);
locationServiceEnabled = locationManager != null && locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
Criteria criteria = new Criteria();
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(true);
criteria.setSpeedRequired(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setCostAllowed(true);
bestProvider = locationManager.getBestProvider(criteria, false);
updateFrequency = Integer.parseInt(settingsSharedPreferences.getString("update_frequency", "5")) * 1000;
locationManager.requestLocationUpdates(bestProvider, updateFrequency, 0, locationListener);
}
项目:Android-Programming-for-Developers
文件:MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtLat = (TextView) findViewById(R.id.txtLat);
txtLong = (TextView) findViewById(R.id.txtLong);
txtSource = (TextView) findViewById(R.id.txtSource);
// Initialize locationManager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
// Initialize the location
if (location != null) {
txtSource.setText("Source = " + provider);
onLocationChanged(location);
}
}
项目:atmosphere-service
文件:LocationMockHandler.java
/**
* Registers a test provider with the given name on the location manager.
*
* @param providerName
* - the name of the test provider to be registered
*/
private void addProvider(String providerName) {
try {
locationManager.addTestProvider(providerName, false, // does not require network
false, // does not require satellite
false, // does not require cell
false, // no monetary cost
true, // supports altitude
true, // supports bearing
true, // supports speed
Criteria.POWER_LOW,
Criteria.ACCURACY_HIGH);
} catch (IllegalArgumentException e) {
// guarding from registering a test provider that is already registered
}
locationManager.setTestProviderEnabled(providerName, true);
}
项目:mobilesafe
文件:LocationService.java
@Override
public void onCreate() {
super.onCreate();
//��ȡ�ֻ��ľ�γ������
//1,��ȡλ�ù����߶���
LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
//2,�����ŵķ�ʽ��ȡ��γ������()
Criteria criteria = new Criteria();
//������
criteria.setCostAllowed(true);
criteria.setAccuracy(Criteria.ACCURACY_FINE);//ָ����ȡ��γ�ȵľ�ȷ��
String bestProvider = lm.getBestProvider(criteria, true);
//3,��һ��ʱ����,�ƶ�һ��������ȡ��γ������
MyLocationListener myLocationListener = new MyLocationListener();
lm.requestLocationUpdates(bestProvider, 0, 0, myLocationListener);
}
项目:MobilePhoneSafeProtector
文件:GPSLocationService.java
@Override
public void onCreate() {
super.onCreate();
manager = (LocationManager) getSystemService(LOCATION_SERVICE);
listener = new MyListener();
//criteria 查询条件
//true 只返回可用的位置提供者
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);//获取精确的位置
criteria.setCostAllowed(true);//允许产生开销
String name = manager.getBestProvider(criteria, true);
System.out.println("最好的位置提供者:" + name);
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
// ActivityCompat#requestPermissions
// 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 ActivityCompat#requestPermissions for more details.
return;
}
manager.requestLocationUpdates(name, 0, 0, listener);
}
项目:cordova-plugin-quintech-background-geolocation
文件:DistanceFilterLocationProvider.java
/**
* Translates a number representing desired accuracy of Geolocation system from set [0, 10, 100, 1000].
* 0: most aggressive, most accurate, worst battery drain
* 1000: least aggressive, least accurate, best for battery.
*/
private Integer translateDesiredAccuracy(Integer accuracy) {
switch (accuracy) {
case 1000:
accuracy = Criteria.ACCURACY_LOW;
break;
case 100:
accuracy = Criteria.ACCURACY_MEDIUM;
break;
case 10:
accuracy = Criteria.ACCURACY_HIGH;
break;
case 0:
accuracy = Criteria.ACCURACY_HIGH;
break;
default:
accuracy = Criteria.ACCURACY_MEDIUM;
}
return accuracy;
}
项目:RxTools
文件:RxLocationTool.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
//设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
//设置是否需要方位信息
criteria.setBearingRequired(false);
//设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:BaseLibrary
文件:LocationUtils.java
/**
* 设置定位参数
*
* @return {@link Criteria}
*/
private static Criteria getCriteria() {
Criteria criteria = new Criteria();
//设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否要求速度
criteria.setSpeedRequired(false);
// 设置是否允许运营商收费
criteria.setCostAllowed(false);
//设置是否需要方位信息
criteria.setBearingRequired(false);
//设置是否需要海拔信息
criteria.setAltitudeRequired(false);
// 设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
return criteria;
}
项目:MobileGuard
文件:GpsTraceService.java
@Override
public void onCreate() {
super.onCreate();
// locate
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// check permission
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
// get best provider
Criteria criteria = new Criteria();
criteria.setCostAllowed(true);
criteria.setAccuracy(Criteria.ACCURACY_FINE);
String bestProvider = locationManager.getBestProvider(criteria, true);
System.out.println("best provider:" + bestProvider);
// start listening
listener = new MyLocationListener();
locationManager.requestLocationUpdates(bestProvider, 0, 0, listener);
}
项目:band-up-android
文件:UserItemFragment.java
private Float getDistanceToUser(User u) {
LocationManager locationManager = (LocationManager) getActivity().getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
String locationProvider = locationManager.getBestProvider(criteria, false);
Boolean hasLocationPermission = this.hasLocationPermission();
if (hasLocationPermission && locationProvider != null) {
Location myLocation = locationManager.getLastKnownLocation(locationProvider);
Location userLocation = new Location("");
if (u.location.getValid()) {
userLocation.setLatitude(u.location.getLatitude());
userLocation.setLongitude(u.location.getLongitude());
} else {
return null;
}
if (myLocation != null) {
return myLocation.distanceTo(userLocation);
} else {
return null;
}
} else {
return null;
}
}
项目:band-up-android
文件:UserDetailsFragment.java
private Float getDistanceToUser(User u) {
LocationManager locationManager = (LocationManager) getActivity().getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
String locationProvider = locationManager.getBestProvider(criteria, false);
Boolean hasLocationPermission = this.hasLocationPermission();
if (hasLocationPermission && locationProvider != null) {
Location myLocation = locationManager.getLastKnownLocation(locationProvider);
Location userLocation = new Location("");
if (u.location.getValid()) {
userLocation.setLatitude(u.location.getLatitude());
userLocation.setLongitude(u.location.getLongitude());
} else {
return null;
}
if (myLocation != null) {
return myLocation.distanceTo(userLocation);
} else {
return null;
}
} else {
return null;
}
}
项目:CycleFrankfurtAndroid
文件:MainInput.java
private LatLng myCurrentLocation(){
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
Location loc = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if (loc != null) {
return new LatLng(loc.getLatitude(), loc.getLongitude());
} else {
// try with coarse accuracy
criteria.setAccuracy(Criteria.ACCURACY_FINE);
loc = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if (loc == null) {
return new LatLng(39.952451,-75.163664); // city hall by default
}
}
return null;
}
项目:SimpleSmsRemote
文件:TestActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
LocationManager locationManager = (LocationManager)
this.getSystemService(Context.LOCATION_SERVICE);
startTime = System.currentTimeMillis();
try {
locationManager.requestSingleUpdate(criteria, this, null);
} catch (SecurityException e) {
Log.e(TAG, "permission not granted");
}
}
项目:noefinderlein
文件:Activity_Main.java
protected void startLocationUpdates() {
if(ActivityCompat.checkSelfPermission(Activity_Main.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(Activity_Main.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(Activity_Main.this, new String[] {Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_REQUEST);
return;
}
if (locationManager != null) {
final int minTime = 10*1000;
final int minDistance = 0;
final Criteria criteria = new Criteria();
String provider;
criteria.setAccuracy(Criteria.ACCURACY_FINE);
provider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(provider, minTime, minDistance, listener);
locationUpdatesRunning = true;
}
setToast(getResources().getString(R.string.location_updated_started), 0);
}
项目:Android-App-Template
文件:LocationManagerProvider.java
private Criteria getProvider(LocationParams params) {
final LocationAccuracy accuracy = params.getAccuracy();
final Criteria criteria = new Criteria();
switch (accuracy) {
case HIGH:
changeCriteria(criteria, Criteria.ACCURACY_FINE, Criteria.ACCURACY_HIGH, Criteria.POWER_HIGH);
break;
case MEDIUM:
changeCriteria(criteria, Criteria.ACCURACY_COARSE, Criteria.ACCURACY_MEDIUM, Criteria.POWER_MEDIUM);
break;
case LOW:
case LOWEST:
default:
changeCriteria(criteria, Criteria.ACCURACY_COARSE, Criteria.ACCURACY_LOW, Criteria.POWER_LOW);
}
return criteria;
}
项目:Acastus
文件:GeoLocation.java
public void updateLocation(){
Criteria criteria = new Criteria();
String bestProvider = String.valueOf(locationManager.getBestProvider(criteria, true)).toString();
try {
locationManager.requestLocationUpdates(bestProvider, 60000, 15, this);
Handler h = new Handler(Looper.getMainLooper());
h.post(new Runnable() {
public void run() {
Toast.makeText(context, R.string.accessing_location, Toast.LENGTH_SHORT).show();
}
});
}catch (SecurityException e){
}
}
项目:AugmentedReality-Android
文件:OverlayView.java
public OverlayView(Context context)
{
super(context);
SensorManager sensors = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
Sensor accelSensor = sensors.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
Sensor compassSensor = sensors.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
Sensor gyroSensor = sensors.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
boolean isAccelAvailable = sensors.registerListener(this, accelSensor, SensorManager.SENSOR_DELAY_NORMAL);
boolean isCompassAvailable = sensors.registerListener(this, compassSensor, SensorManager.SENSOR_DELAY_NORMAL);
boolean isGyroAvailable = sensors.registerListener(this, gyroSensor, SensorManager.SENSOR_DELAY_NORMAL);
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.NO_REQUIREMENT);
String best = locationManager.getBestProvider(criteria, true);
Log.v(DEBUG_TAG, "Best provider: " + best);
locationManager.requestLocationUpdates(best, 50, 0, this);
}
项目:FakeLocation
文件:MockLocationProvider.java
public void begin()
{
LocationManager lm = (LocationManager) ctx.getSystemService(
Context.LOCATION_SERVICE);
lm.addTestProvider(
providerName,
REQUIRES_NETWORK,
REQUIRES_SATELLITE,
REQUIRES_CELL,
HAS_MONETARY_COST,
SUPPORTS_ALTITUDE,
SUPPORTS_SPEED,
SUPPORTS_BEARING,
Criteria.ACCURACY_LOW, Criteria.ACCURACY_FINE
);
lm.setTestProviderEnabled(providerName, true);
lm.setTestProviderStatus(
LocationManager.GPS_PROVIDER,
LocationProvider.AVAILABLE,
null,
System.currentTimeMillis());
}
项目:InsanityRadio-Android
文件:DefaultLocationProvider.java
@Override
public Location getLocation(Context context) {
if(config != null && config.getBooleanProperty(SocializeConfig.SOCIALIZE_LOCATION_ENABLED, true)) {
if(location == null) {
if(appUtils.hasPermission(context, "android.permission.ACCESS_FINE_LOCATION")) {
requestLocation(context, Criteria.ACCURACY_FINE);
}
else if(appUtils.hasPermission(context, "android.permission.ACCESS_COARSE_LOCATION")) {
requestLocation(context, Criteria.ACCURACY_COARSE);
}
}
else if(logger != null && logger.isDebugEnabled()) {
logger.debug("LocationProvider got location");
}
}
return location;
}
项目:lunzi
文件:MapLocationUtil.java
private String getProvider(LocationManager locationManager) {
// 构建位置查询条件
Criteria criteria = new Criteria();
// 查询精度:高
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// 速度
criteria.setSpeedRequired(false);
// 是否查询海拨:否
criteria.setAltitudeRequired(false);
// 是否查询方位角:否
criteria.setBearingRequired(false);
// 电量要求:低
criteria.setPowerRequirement(Criteria.POWER_LOW);
// 返回最合适的符合条件的provider,第2个参数为true说明,如果只有一个provider是有效的,则返回当前provider
return locationManager.getBestProvider(criteria, true);
}
项目:iTester
文件:CompassActivity.java
private void initServices() {
// sensor manager
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mOrientationSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
// location manager
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
mLocationProvider = mLocationManager.getBestProvider(criteria, true);
}
项目:DeviceConnect-Android
文件:HostGeolocationProfile.java
/**
* 位置情報取得開始.
* @param accuracy 精度.
* @param interval 受信間隔.
*/
private void startGPS(final boolean accuracy, final int interval) {
if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(getContext(), ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
Criteria criteria = new Criteria();
if (accuracy) {
criteria.setAccuracy(Criteria.ACCURACY_FINE);
} else {
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
}
mLocationManager.requestLocationUpdates(mLocationManager.getBestProvider(criteria, true), interval, 0, this, Looper.getMainLooper());
}
项目:alternate-java-bridge-library
文件:LocationSensor.java
/**
* Creates a new LocationSensor component.
*
* @param container ignored (because this is a non-visible component)
*/
public LocationSensor(ComponentContainer container) {
super(container);
handler = new Handler();
// Set up listener
container.$form().registerForOnResume(this);
container.$form().registerForOnStop(this);
// Initialize location-related fields
Context context = container.$context();
geocoder = new Geocoder(context);
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
locationCriteria = new Criteria();
locationCriteria.setSpeedRequired(true);
myLocationListener = new MyLocationListener();
}
项目:androidomatic-keyer
文件:GeoHelper.java
public GeoHelper(Context context) {
//Constructor
Log.i(TAG, "Initialize GeoHelper.");
mContext = context;
locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
listAllProviders();
criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setSpeedRequired(false);
chooseBestProvider();
}