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();

}