Advertisement
rachmadi

Current Location

Aug 2nd, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.50 KB | None | 0 0
  1. import android.Manifest;
  2. import android.content.Context;
  3. import android.content.pm.PackageManager;
  4. import android.location.Criteria;
  5. import android.location.Location;
  6. import android.location.LocationListener;
  7. import android.location.LocationManager;
  8. import android.support.v4.app.ActivityCompat;
  9. import android.support.v4.widget.TextViewCompat;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.os.Bundle;
  12. import android.widget.TextView;
  13. import android.widget.Toast;
  14.  
  15. public class MainActivity extends AppCompatActivity implements LocationListener {
  16.  
  17.     TextView mTextview;
  18.  
  19.     // flag for network status
  20.     boolean isNetworkEnabled = false;
  21.  
  22.     // flag for GPS status
  23.     boolean isGPSEnabled = false;
  24.  
  25.     LocationManager mLocationManager;
  26.  
  27.     Location mLocation; // location
  28.     double latitude; // latitude
  29.     double longitude; // longitude
  30.  
  31.     // The minimum distance to change Updates in meters
  32.     private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
  33.  
  34.     // The minimum time between updates in milliseconds
  35.     private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
  36.  
  37.     @Override
  38.     protected void onCreate(Bundle savedInstanceState) {
  39.         super.onCreate(savedInstanceState);
  40.         setContentView(R.layout.activity_main);
  41.         mTextview = (TextView) findViewById(R.id.tvmylocation);
  42.  
  43.         mLocationManager = (LocationManager)
  44.                 getSystemService(Context.LOCATION_SERVICE);
  45.  
  46.         // getting GPS status
  47.         isGPSEnabled = mLocationManager
  48.                 .isProviderEnabled(LocationManager.GPS_PROVIDER);
  49.  
  50.         // getting network status
  51.         isNetworkEnabled = mLocationManager
  52.                 .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
  53.  
  54.         if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED &&
  55.                 ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
  56.  
  57.             if(isNetworkEnabled && isGPSEnabled){
  58.                 Criteria mCriteria = new Criteria();
  59.                 mCriteria.setAccuracy(Criteria.ACCURACY_FINE);
  60.                 mCriteria.setPowerRequirement(Criteria.POWER_LOW);
  61.                 String provider = mLocationManager.getBestProvider(mCriteria, true);
  62.                 mLocationManager.requestLocationUpdates(provider, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
  63.             }else
  64.             if(isGPSEnabled){
  65.                 mLocationManager.requestLocationUpdates(
  66.                         LocationManager.GPS_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
  67.             }else
  68.             if(isNetworkEnabled){
  69.                 mLocationManager.requestLocationUpdates(
  70.                         LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
  71.             }else{
  72.                 mTextview.setText("Tidak bisa mengambil lokasi");
  73.             }
  74.         }
  75.     }
  76.  
  77.     @Override
  78.     public void onLocationChanged(Location location) {
  79.        mTextview.setText("Longitude : "+location.getLongitude()+"\n"+ "Latitude : " + location.getLatitude());
  80.     }
  81.  
  82.     @Override
  83.     public void onStatusChanged(String provider, int status, Bundle extras) {
  84.  
  85.     }
  86.  
  87.     @Override
  88.     public void onProviderEnabled(String provider) {
  89.  
  90.     }
  91.  
  92.     @Override
  93.     public void onProviderDisabled(String provider) {
  94.  
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement