नीचे दिए गए चरणों का पालन करें
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
टास्क से परिणाम प्राप्त करने के लिए एक जोड़ें । 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
) के साथ स्थान को चालू करने के लिए संकेत देकर स्थान को सक्षम करने के लिए कह सकते हैं ।
मामले 2:: LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE
स्थान सेटिंग्स संतुष्ट नहीं हैं। हालाँकि, हमारे पास सेटिंग्स को ठीक करने का कोई तरीका नहीं है इसलिए हम संवाद नहीं दिखाएंगे।
5) OnActivityResult
हम स्थान सेटिंग संवाद में उपयोगकर्ता कार्रवाई प्राप्त कर सकते हैं। RESULT_OK
=> उपयोगकर्ता स्थान पर बदल गया। RESULT_CANCELLED
- उपयोगकर्ता ने स्थान सेटिंग अनुरोध को अस्वीकार कर दिया।