Guest User

Untitled

a guest
Mar 22nd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.53 KB | None | 0 0
  1. public class HomeActivity extends AppCompatActivity implements
  2. GoogleApiClient.ConnectionCallbacks,
  3. GoogleApiClient.OnConnectionFailedListener,
  4. LocationListener {
  5. private static final String TAG = "MyActivity";
  6. GoogleApiClient mGoogleApiClient;
  7. Location mCurrentLocation;
  8. String mLastUpdateTime;
  9. String latLong;
  10. String address;
  11. private TextView locationTextView;
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. getSupportActionBar().hide();
  17. Log.d(TAG, "onCreate ...............................");
  18. setContentView(R.layout.activity_main);
  19. Button button = (Button) findViewById(R.id.button);
  20. locationTextView = (TextView) findViewById(R.id.tv_current_location);
  21. button.setOnClickListener(onClick);
  22. configure_button();
  23. initFusedLocationManager();
  24. }
  25.  
  26. private void initFusedLocationManager() {
  27. if (ContextCompat.checkSelfPermission(this,
  28. Manifest.permission.ACCESS_FINE_LOCATION)
  29. == PackageManager.PERMISSION_GRANTED) {
  30. buildGoogleApiClient();
  31. }
  32. }
  33. @Override
  34. protected void onPause() {
  35. super.onPause();
  36. }
  37.  
  38. @Override
  39. public void onResume() {
  40. super.onResume();
  41. }
  42.  
  43. @Override
  44. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
  45. @NonNull int[] grantResults) {
  46. switch (requestCode) {
  47. case 10:
  48. configure_button();
  49. break;
  50. default:
  51. break;
  52. }
  53. }
  54.  
  55. void configure_button() {
  56. if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) !=
  57. PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,
  58. Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
  59. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
  60. requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,
  61. Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.INTERNET}
  62. , 10);
  63. Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
  64. startActivity(i);
  65. }
  66. }
  67. }
  68.  
  69. @Override
  70. public void onConnected(@Nullable Bundle bundle) {
  71. LocationRequest mLocationRequest = new LocationRequest();
  72. mLocationRequest.setInterval(1000);
  73. mLocationRequest.setFastestInterval(1000);
  74. mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
  75. if (ContextCompat.checkSelfPermission(this,
  76. Manifest.permission.ACCESS_FINE_LOCATION)
  77. == PackageManager.PERMISSION_GRANTED) {
  78.  
  79. LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
  80. }
  81. }
  82.  
  83. @Override
  84. public void onConnectionSuspended(int i) {}
  85.  
  86. @Override
  87. public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {}
  88.  
  89. @Override
  90. public void onLocationChanged(Location location) {
  91. Log.d(TAG, "Firing onLocationChanged..............................................");
  92. mCurrentLocation = location;
  93. mLastUpdateTime = DateFormat.getTimeInstance().format(new Date());
  94. latLong = "Location : "nLat: " + mCurrentLocation.getLatitude() + " " + "Long: " + mCurrentLocation.getLongitude();
  95. locationTextView.setText(latLong);
  96.  
  97. //stop location updates
  98. if (mGoogleApiClient != null) {
  99. LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
  100. }
  101. }
  102. protected synchronized void buildGoogleApiClient() {
  103. mGoogleApiClient = new GoogleApiClient.Builder(this)
  104. .addConnectionCallbacks(this)
  105. .addOnConnectionFailedListener(this)
  106. .addApi(LocationServices.API)
  107. .build();
  108. mGoogleApiClient.connect();
  109. }
  110.  
  111. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  112. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  113. <uses-permission android:name="android.permission.INTERNET" />
  114. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  115. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  116. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  117. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  118. <uses-permission android:name="android.permission.RECORD_AUDIO" />
  119. <uses-permission android:name="android.permission.STORAGE" />
  120. <uses-permission android:name="android.permission.READ_PROFILE" />
  121. <uses-permission android:name="android.permission.READ_CONTACTS" />
  122.  
  123. compile 'com.google.android.gms:play-services:11.4.0'
Add Comment
Please, Sign In to add comment