#This app uses Google maps API to find user location #Below is the code to be written MainActivity.java file package com.rharipriya.thirteenth_userlocation;
import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Build; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log;
public class MainActivity extends AppCompatActivity {
LocationManager locationManager;
LocationListener locationListener;
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults){
super.onRequestPermissionsResult(requestCode,permissions,grantResults);
if(grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED){
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PERMISSION_GRANTED)
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i("started","hariapp");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager=(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
Log.i("next","hari got location service");
locationListener=new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.i("went to","onharimethod");
Log.i("Location:happigadu",location.toString());
Log.i("exiting","harimethod");
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
/*if(Build.VERSION.SDK_INT<23){
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener); -------for apis <23
}
else {*/
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); //asks for permission
} else {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
//}
}
}