Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.Manifest;
- import android.content.Context;
- import android.content.pm.PackageManager;
- import android.location.Criteria;
- import android.location.Location;
- import android.location.LocationListener;
- import android.location.LocationManager;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.widget.TextViewCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.widget.TextView;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity implements LocationListener {
- TextView mTextview;
- // flag for network status
- boolean isNetworkEnabled = false;
- // flag for GPS status
- boolean isGPSEnabled = false;
- LocationManager mLocationManager;
- Location mLocation; // location
- double latitude; // latitude
- double longitude; // longitude
- // The minimum distance to change Updates in meters
- private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
- // The minimum time between updates in milliseconds
- private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mTextview = (TextView) findViewById(R.id.tvmylocation);
- mLocationManager = (LocationManager)
- getSystemService(Context.LOCATION_SERVICE);
- // getting GPS status
- isGPSEnabled = mLocationManager
- .isProviderEnabled(LocationManager.GPS_PROVIDER);
- // getting network status
- isNetworkEnabled = mLocationManager
- .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED &&
- ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
- if(isNetworkEnabled && isGPSEnabled){
- Criteria mCriteria = new Criteria();
- mCriteria.setAccuracy(Criteria.ACCURACY_FINE);
- mCriteria.setPowerRequirement(Criteria.POWER_LOW);
- String provider = mLocationManager.getBestProvider(mCriteria, true);
- mLocationManager.requestLocationUpdates(provider, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
- }else
- if(isGPSEnabled){
- mLocationManager.requestLocationUpdates(
- LocationManager.GPS_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
- }else
- if(isNetworkEnabled){
- mLocationManager.requestLocationUpdates(
- LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
- }else{
- mTextview.setText("Tidak bisa mengambil lokasi");
- }
- }
- }
- @Override
- public void onLocationChanged(Location location) {
- mTextview.setText("Longitude : "+location.getLongitude()+"\n"+ "Latitude : " + location.getLatitude());
- }
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- @Override
- public void onProviderEnabled(String provider) {
- }
- @Override
- public void onProviderDisabled(String provider) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement