ஆண்ட்ராய்டு சாதனத்தில் இருப்பிடம் இயக்கப்பட்டுள்ளதா என்பதைச் சரிபார்ப்பது எப்படி என்பதைப் பற்றிய விரிவான கட்டுரையை எழுதுவதற்கு ஜாவா நிரலாக்கத்தைப் பற்றியும் வெவ்வேறு ஆண்ட்ராய்டு லைப்ரரிகளைப் பயன்படுத்துவது பற்றியும் கணிசமான புரிதல் தேவைப்படும். எனவே, இதை ஆராய்வோம்.
தற்கால மொபைல் பயன்பாட்டு நிலப்பரப்பில், பயனரின் புவியியல் நிலையின் அடிப்படையில் தனிப்பயனாக்கப்பட்ட அனுபவங்களை வழங்க, பயனரின் இருப்பிடத்தை அணுகுவது மிகவும் முக்கியமானது. இந்த செயல்பாடு ஆண்ட்ராய்டு மூலம் இயங்கும் சாதனங்களில் ஏராளமாக கிடைக்கிறது. இருப்பினும், இருப்பிடம் இயக்கப்பட்டதா இல்லையா என்பதை தீர்மானிப்பது ஒரு முக்கியமான அம்சமாகும்.
public boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
} else {
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
குறியீட்டைப் புரிந்துகொள்வது
இரண்டு முக்கிய படிகளில் எந்த ஆண்ட்ராய்டு சாதனத்திலும் இருப்பிடச் சேவைகள் இயக்கப்பட்டுள்ளதா என்பதை மேலே கொடுக்கப்பட்டுள்ள குறியீடு சரிபார்க்கிறது:
- சாதனத்தின் பதிப்பு கிட்கேட் அல்லது அதற்கு மேற்பட்டதாக இருந்தால், அது இருப்பிட பயன்முறை அமைப்பைப் பெற முயற்சிக்கிறது மற்றும் அது 'இருப்பிட பயன்முறை ஆஃப்' என்பதைத் தவிர வேறு உள்ளதா என்பதைச் சரிபார்க்கிறது. அப்படியானால், இருப்பிடம் இயக்கப்பட்டிருப்பதை உறுதிப்படுத்துகிறது.
- கிட்கேட்டை விட பழைய பதிப்புகளில் இயங்கும் சாதனங்களுக்கு, அனுமதிக்கப்பட்ட இருப்பிட வழங்குநர்களின் பட்டியலைப் பெற்று, அது பிரத்தியேகமாக காலியாக உள்ளதா எனச் சரிபார்க்கிறது. பட்டியல் காலியாக இல்லாவிட்டால், இருப்பிடம் இயக்கப்பட்டிருப்பது உறுதிசெய்யப்பட்டது.
வெவ்வேறு நூலகங்கள் மற்றும் செயல்பாடுகளின் பங்கு
இந்தக் குறியீட்டில், சில குறிப்பிட்ட செயல்பாடுகள் மற்றும் நூலகங்களைப் பயன்படுத்தியுள்ளோம், முதன்மையாக ஆண்ட்ராய்டு டெவலப்பர்ஸ் கிட்டில் இருந்து:
- Build.VERSION.SDK_INT: இது தற்போது சாதனத்தில் இயங்கும் இயங்குதளத்தின் SDK பதிப்பைக் கொண்டிருக்கும் புலமாகும்.
- அமைப்புகள். பாதுகாப்பானது: இது உலகளாவிய பாதுகாப்பான கணினி அமைப்புகளுக்கான அணுகலை நிர்வகிக்கும் ஒரு வகுப்பாகும், முதன்மையாக பயனர் தனியுரிமையைப் பாதிக்கும் சிஸ்டம் அமைப்புகள்.
- Settings.Secure.getInt: கொடுக்கப்பட்ட பெயருக்கான பாதுகாப்பான முழு எண் அமைப்பு மதிப்பை இந்த முறை வழங்கும்.
- அமைப்புகள்.Secure.LOCATION_MODE: தற்போதைய இருப்பிட பயன்முறை அமைப்பைப் பெற இது பயன்படுத்தப்படுகிறது.
- அமைப்புகள். பாதுகாப்பான.LOCATION_PROVIDERS_ALLOWED: அனுமதிக்கப்பட்ட இருப்பிட வழங்குநர்களின் பட்டியலைப் பெறுகிறது.
மேலும் படிக்க