একটি অ্যান্ড্রয়েড ডিভাইসে একটি অবস্থান সক্ষম আছে কিনা তা কীভাবে পরীক্ষা করা যায় সে সম্পর্কে একটি বিস্তৃত নিবন্ধ লেখার জন্য জাভা প্রোগ্রামিং এবং বিভিন্ন অ্যান্ড্রয়েড লাইব্রেরির ব্যবহার সম্পর্কে যথেষ্ট বোঝার প্রয়োজন হতে পারে। সুতরাং, আসুন এটির মধ্যে অনুসন্ধান করি।
সমসাময়িক মোবাইল অ্যাপ্লিকেশন ল্যান্ডস্কেপে, ব্যবহারকারীর ভৌগলিক অবস্থানের উপর ভিত্তি করে ব্যক্তিগতকৃত অভিজ্ঞতা প্রদানের জন্য ব্যবহারকারীর অবস্থান অ্যাক্সেস করা অত্যন্ত গুরুত্বপূর্ণ হয়ে উঠেছে। এই কার্যকারিতা Android দ্বারা চালিত ডিভাইসগুলিতে প্রচুর পরিমাণে উপলব্ধ। যাইহোক, অবস্থানটি সক্ষম কিনা তা নির্ধারণ করাও একটি গুরুত্বপূর্ণ দিক।
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);
}
}
কোড বোঝা
উপরে প্রদত্ত কোড দুটি প্রধান ধাপে যেকোনো Android ডিভাইসে অবস্থান পরিষেবাগুলি সক্ষম করা আছে কিনা তা পরীক্ষা করে:
- ডিভাইস সংস্করণটি কিটক্যাট বা তার উপরে হলে, এটি লোকেশন মোড সেটিং পাওয়ার চেষ্টা করে এবং এটি 'লোকেশন মোড অফ' ছাড়া অন্য কিছু কিনা তা যাচাই করে। যদি তাই হয়, তাহলে এটি নিশ্চিত করে যে অবস্থানটি সক্ষম হয়েছে৷
- KitKat-এর চেয়ে পুরানো সংস্করণে চলমান ডিভাইসগুলির জন্য, এটি অনুমোদিত অবস্থান প্রদানকারীদের তালিকা অর্জন করে এবং এটি একচেটিয়াভাবে খালি কিনা তা পরীক্ষা করে। তালিকাটি খালি না থাকলে, এটি নিশ্চিত করা হয়েছে যে অবস্থানটি সক্ষম করা হয়েছে।
বিভিন্ন গ্রন্থাগার এবং কার্যাবলীর ভূমিকা
এই কোডে, আমরা কয়েকটি নির্দিষ্ট ফাংশন এবং লাইব্রেরি ব্যবহার করেছি, প্রাথমিকভাবে Android বিকাশকারীর কিট থেকে:
- বিল্ড.VERSION.SDK_INT: এটি এমন একটি ক্ষেত্র যা বর্তমানে ডিভাইসে চলমান প্ল্যাটফর্মের SDK সংস্করণ ধারণ করে৷
- সেটিংস। সুরক্ষিত: এটি এমন একটি শ্রেণী যা বিশ্বব্যাপী সুরক্ষিত সিস্টেম সেটিংসে অ্যাক্সেস পরিচালনা করে, প্রাথমিকভাবে সিস্টেম সেটিংস যা ব্যবহারকারীর গোপনীয়তাকে প্রভাবিত করে।
- Settings.Secure.getInt: এই পদ্ধতিটি একটি প্রদত্ত নামের জন্য সুরক্ষিত পূর্ণসংখ্যা সেটিং মান প্রদান করে।
- সেটিংস।Secure.LOCATION_MODE: বর্তমান অবস্থান মোড সেটিং পেতে এটি ব্যবহার করা হয়।
- সেটিংস।Secure.LOCATION_PROVIDERS_ALLOWED: অনুমোদিত অবস্থান প্রদানকারীদের তালিকা পায়।
আরও বিস্তারিত!