নিচে উল্লিখিত ধাপগুলি অনুসরণ করুন
1)LocationRequest
আপনার ইচ্ছা অনুযায়ী একটি তৈরি করুন
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10 * 1000)
.setFastestInterval(1 * 1000);
2) একটি তৈরি করুনLocationSettingsRequest.Builder
LocationSettingsRequest.Builder settingsBuilder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
settingsBuilder.setAlwaysShow(true);
3)LocationSettingsResponse
Task
নিম্নলিখিত কোড ব্যবহার করে পান
Task<LocationSettingsResponse> result = LocationServices.getSettingsClient(this)
.checkLocationSettings(settingsBuilder.build());
দ্রষ্টব্য: LocationServices.SettingsApi
তাই হ্রাস করা হয়েছে, SettingsClient
পরিবর্তে ব্যবহার করুন ।
4)OnCompleteListener
টাস্ক থেকে ফলাফল পেতে একটি যুক্ত করুন hen যখন Task
সম্পূর্ণ হয়, ক্লায়েন্টটি LocationSettingsResponse
বস্তু থেকে স্থিতি কোডটি দেখে অবস্থান সেটিংস পরীক্ষা করতে পারে ।
result.addOnCompleteListener(new OnCompleteListener<LocationSettingsResponse>() {
@Override
public void onComplete(@NonNull Task<LocationSettingsResponse> task) {
try {
LocationSettingsResponse response =
task.getResult(ApiException.class);
} catch (ApiException ex) {
switch (ex.getStatusCode()) {
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
try {
ResolvableApiException resolvableApiException =
(ResolvableApiException) ex;
resolvableApiException
.startResolutionForResult(MapsActivity.this,
LOCATION_SETTINGS_REQUEST);
} catch (IntentSender.SendIntentException e) {
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
break;
}
}
}
});
কেএসই 1:: LocationSettingsStatusCodes.RESOLUTION_REQUIRED
অবস্থানটি সক্ষম করা নেই তবে, আমরা ব্যবহারকারীকে ডায়লগটি দিয়ে (কল করে startResolutionForResult
) লোকেশনটি চালু করার অনুরোধ করে লোকেশন সক্ষম করতে বলতে পারি ।
CASE 2:: LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE
অবস্থান সেটিংস সন্তুষ্ট নয়। তবে আমাদের কাছে সেটিংস ঠিক করার কোনও উপায় নেই তাই আমরা সংলাপটি প্রদর্শন করব না।
5) OnActivityResult
আমরা অবস্থান সেটিংস সংলাপে ব্যবহারকারীর ক্রিয়া পেতে পারি। RESULT_OK
=> ব্যবহারকারী অবস্থানটি চালু করেছে। RESULT_CANCELLED
- ব্যবহারকারী লোকেশন সেটিংয়ের অনুরোধ প্রত্যাখ্যান করেছে।