List of usage examples for android.location Criteria POWER_MEDIUM
int POWER_MEDIUM
To view the source code for android.location Criteria POWER_MEDIUM.
Click Source Link
From source file:com.nearnotes.NoteLocation.java
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction Bundle extras = getArguments();// w w w. j ava 2s. co m mTypeFrag = extras.getInt("TypeFrag"); SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getActivity()); Boolean gpsPref = sharedPref.getBoolean("pref_key_ignore_gps", false); mLocationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); mCriteria = new Criteria(); if (gpsPref) { mCriteria.setPowerRequirement(Criteria.POWER_HIGH); } else mCriteria.setPowerRequirement(Criteria.POWER_MEDIUM); mProvider = mLocationManager.getBestProvider(mCriteria, true); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); boolean oldApi = false; int locationMode = 4; Log.e("mProvider", mProvider); ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); boolean networkAvailable = true; TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); boolean networkType = true; if (tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_UNKNOWN && !networkInfo.isConnected()) { networkType = false; } Log.d("Phone state before if statement", "Phone State: " + mServiceState); Log.e("network isavailable", String.valueOf(networkInfo.isAvailable())); if (!networkType || !mLocationManager.isProviderEnabled("network")) { networkAvailable = false; } try { Log.e("Location_mode", String.valueOf( Settings.Secure.getInt(getActivity().getContentResolver(), Settings.Secure.LOCATION_MODE))); locationMode = Settings.Secure.getInt(getActivity().getContentResolver(), Settings.Secure.LOCATION_MODE); } catch (SettingNotFoundException e) { oldApi = true; // TODO Auto-generated catch block e.printStackTrace(); } if ((oldApi && mProvider.matches("passive")) || locationMode == LOCATION_MODE_OFF || (!networkAvailable && (mProvider.matches("network") || (!gpsPref && mProvider.matches("gps"))))) { builder.setTitle(getString(R.string.dialog_location_no_location_services_title)); builder.setMessage(getString(R.string.dialog_location_no_location_services_message)); builder.setNeutralButton(R.string.dialog_location_button_settings, noNetworkButton); mAbortRequest = true; } else if ((oldApi && mProvider.matches("gps") && gpsPref) || (mProvider.matches("gps") && gpsPref && (locationMode == LOCATION_MODE_SENSORS_ONLY || locationMode == LOCATION_MODE_HIGH_ACCURACY))) { if (mTypeFrag == NOTE_EDIT) { builder.setTitle(getString(R.string.dialog_location_finding_note_gps)); } else if (mTypeFrag == NOTE_LIST) { builder.setTitle(getString(R.string.dialog_location_updating_note_gps)); } if (locationMode == LOCATION_MODE_SENSORS_ONLY || (oldApi && mProvider.matches("gps")) || !networkAvailable) { builder.setMessage(getString(R.string.dialog_location_only_gps_message)); builder.setNeutralButton(R.string.dialog_location_button_settings, noNetworkButton); } else builder.setPositiveButton(R.string.dialog_location_use_network, null); builder.setView(getActivity().getLayoutInflater().inflate(R.layout.dialogue_location, null)); } else if ((oldApi && mProvider.matches("network")) || (mProvider.matches("network") && (locationMode == LOCATION_MODE_BATTERY_SAVING || locationMode == LOCATION_MODE_HIGH_ACCURACY))) { builder.setView(getActivity().getLayoutInflater().inflate(R.layout.dialogue_location, null)); if (mTypeFrag == NOTE_EDIT) { builder.setTitle(getString(R.string.dialog_location_finding_note_network)); } else if (mTypeFrag == NOTE_LIST) { builder.setTitle(getString(R.string.dialog_location_updating_note_network)); } } builder.setNegativeButton(R.string.cancel, cancelListener); // Create the AlertDialog object and return it // builder.create(); builder.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { mCallback.onLocationFound(null, mTypeFrag); mLocationManager.removeUpdates(NoteLocation.this); Toast.makeText(getActivity(), "Location request cancelled", Toast.LENGTH_SHORT).show(); dialog.cancel(); return true; } return false; } }); mRealDialog = builder.create(); // final LocationListener getFragment() = this.; mRealDialog.setOnShowListener(usingNetwork); mRealDialog.setCanceledOnTouchOutside(false); // mRealDialog.setCancelable(false); return mRealDialog; }
From source file:com.example.testapplication.DialogLocation.java
@SuppressLint("InlinedApi") @Override/*from w w w . ja v a 2 s. co m*/ public Dialog onCreateDialog(Bundle savedInstanceState) { mProgressBar = new ProgressBar(getActivity(), null, android.R.attr.progressBarStyleLarge); mProgressBarInv = new ProgressBar(getActivity(), null, android.R.attr.progressBarStyleLarge); mProgressBarInv.setVisibility(ProgressBar.GONE); mLocationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); mCriteria = new Criteria(); int criteria = (mGpsPref) ? Criteria.POWER_HIGH : Criteria.POWER_MEDIUM; mCriteria.setPowerRequirement(criteria); mProvider = mLocationManager.getBestProvider(mCriteria, true); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); int telephonyInfo = tm.getNetworkType(); boolean networkAvailable = true; if ((telephonyInfo == TelephonyManager.NETWORK_TYPE_UNKNOWN && !networkInfo.isConnected()) || !mLocationManager.isProviderEnabled("network")) { networkAvailable = false; } int locationMode = -1; int locationType = -1; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { try { locationMode = Settings.Secure.getInt(getActivity().getContentResolver(), Settings.Secure.LOCATION_MODE); } catch (SettingNotFoundException e) { e.printStackTrace(); } if (locationMode == Settings.Secure.LOCATION_MODE_OFF || (!networkAvailable && (mProvider.matches("network")))) locationType = NO_LOCATION_SERVICES; else if (mGpsPref && (locationMode == Settings.Secure.LOCATION_MODE_SENSORS_ONLY || locationMode == Settings.Secure.LOCATION_MODE_HIGH_ACCURACY)) locationType = (locationMode == Settings.Secure.LOCATION_MODE_SENSORS_ONLY || !networkAvailable) ? USING_ONLY_GPS_LOCATION : USING_GPS_LOCATION_NETWORK_AVAILABLE; else if (mProvider.matches("network") && (locationMode == Settings.Secure.LOCATION_MODE_BATTERY_SAVING || locationMode == Settings.Secure.LOCATION_MODE_HIGH_ACCURACY)) locationType = USING_NETWORK_LOCATION; } else { if (mProvider.matches("passive") || !networkAvailable && (mProvider.matches("network") || (!mGpsPref && mProvider.matches("gps")))) locationType = NO_LOCATION_SERVICES; else if (mProvider.matches("gps") && mGpsPref) locationType = ((mProvider.matches("gps")) || !networkAvailable) ? USING_ONLY_GPS_LOCATION : USING_GPS_LOCATION_NETWORK_AVAILABLE; else if (mProvider.matches("network")) locationType = USING_NETWORK_LOCATION; } switch (locationType) { case NO_LOCATION_SERVICES: builder.setTitle(DIALOG_LOCATION_NO_LOCATION_SERVICES_TITLE); builder.setMessage(DIALOG_LOCATION_NO_LOCATION_SERVICES_MESSAGE); builder.setNeutralButton(DIALOG_LOCATION_BUTTON_SETTINGS, noNetworkButton); mAbortRequest = true; break; case USING_ONLY_GPS_LOCATION: builder.setTitle(DIALOG_LOCATION_UPDATING_GPS_TITLE); builder.setMessage(DIALOG_LOCATION_ONLY_GPS_MESSAGE); builder.setNeutralButton(DIALOG_LOCATION_BUTTON_SETTINGS, noNetworkButton); builder.setView(mProgressBar); break; case USING_GPS_LOCATION_NETWORK_AVAILABLE: builder.setTitle(DIALOG_LOCATION_UPDATING_GPS_TITLE); builder.setPositiveButton(DIALOG_LOCATION_USE_NETWORK, null); builder.setView(mProgressBar); break; case USING_NETWORK_LOCATION: builder.setView(mProgressBar); builder.setTitle(DIALOG_LOCATION_UPDATING_NETWORK_TITLE); break; } builder.setNegativeButton(DIALOG_LOCATION_CANCEL, cancelListener); builder.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { mCallback.onLocationFound(null, mFragmentId); mLocationManager.removeUpdates(DialogLocation.this); Toast.makeText(getActivity(), "Location request cancelled", Toast.LENGTH_SHORT).show(); dialog.cancel(); return true; } return false; } }); mRealDialog = builder.create(); mRealDialog.setOnShowListener(usingNetwork); mRealDialog.setCanceledOnTouchOutside(false); return mRealDialog; }
From source file:dtu.ds.warnme.app.location.FollowMeLocationSource.java
private void init() { locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setPowerRequirement(Criteria.POWER_MEDIUM); criteria.setAltitudeRequired(true);/*from w w w. j a v a2s.c o m*/ criteria.setBearingRequired(true); criteria.setSpeedRequired(true); criteria.setCostAllowed(true); }
From source file:org.microg.gms.maps.GoogleMapImpl.java
private GoogleMapImpl(Context context, GoogleMapOptions options) { this.context = context; Context appContext = context; if (appContext.getApplicationContext() != null) appContext = appContext.getApplicationContext(); Context wrappedContext = ApplicationContextWrapper.gmsContextWithAttachedApplicationContext(appContext); backendMap = new BackendMap(wrappedContext, this); uiSettings = new UiSettingsImpl(this); projection = new ProjectionImpl(backendMap.getViewport()); this.options = options; criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_COARSE); criteria.setPowerRequirement(Criteria.POWER_MEDIUM); if (options != null) initFromOptions();//ww w.j a v a 2 s. c o m }
From source file:name.gumartinm.weather.information.activity.MapActivity.java
public void onClickGetLocation(final View v) { // TODO: Somehow I should show a progress dialog. // If Google Play Services is available if (this.mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { // TODO: Hopefully there will be results even if location did not change... final Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingAccuracy(Criteria.NO_REQUIREMENT); criteria.setBearingRequired(false); criteria.setCostAllowed(false);/* w w w .j a va2 s . c o m*/ criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH); criteria.setPowerRequirement(Criteria.POWER_MEDIUM); criteria.setSpeedAccuracy(Criteria.NO_REQUIREMENT); criteria.setSpeedRequired(false); criteria.setVerticalAccuracy(Criteria.ACCURACY_HIGH); this.mLocationManager.requestSingleUpdate(criteria, this, null); } else { Toast.makeText(this, this.getString(R.string.weather_map_not_enabled_location), Toast.LENGTH_LONG) .show(); } // Trying to use the synchronous calls. Problems: mGoogleApiClient read/store from different threads. // new GetLocationTask(this).execute(); }