فهرست مطالب
جلوگیری از لوکیشن فیک ( Mock Location ) در کاتلین
گاهی وقت ها نیاز داریم یک لوکیشن از کاربر دریافت کنیم و ممکنه کاربر از نرم افزار های مخرب Mock Location بیاد و لوکیشن رو دست کاری کنه
برای جلوگیری از لوکیشن فیک (Mock Location) در اپلیکیشنهای اندرویدی که با استفاده از کاتلین (Kotlin) نوشته شدهاند، میتوانید از یک چکلیست مربوط به لوکیشن استفاده کنید. این چکلیست میتواند بررسی کند که آیا لوکیشن فعلی از نوع فیک است یا نه.
نحوه جلوگیری
برای این منظور، میتوانید از Settings.Secure در اندروید استفاده کنید. در کد زیر، یک تابع به نام isMockLocationOn نوشته شده است که بررسی میکند که آیا لوکیشن فعلی از نوع فیک است یا خیر:
import android.content.Context
import android.provider.Settings
import android.os.Build
import android.provider.Settings.Secure
fun isMockLocationOn(context: Context): Boolean {
var isMockLocation = false
try {
// در SDK های نسخه ۱۸ به بالا، از `Secure` استفاده میشود
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
isMockLocation = Settings.Secure.getString(
context.contentResolver,
Settings.Secure.ALLOW_MOCK_LOCATION
) != "0"
} else {
// در SDK های زیر از `Settings.System` استفاده میشود
isMockLocation = Settings.Secure.getString(
context.contentResolver,
Settings.Secure.ALLOW_MOCK_LOCATION
) != "0"
}
} catch (e: Exception) {
e.printStackTrace()
}
return isMockLocation
}
سپس میتوانید این تابع را در جایی از اپلیکیشنتان فراخوانی کنید و اقدامات لازم را برای جلوگیری یا مدیریت لوکیشن فیک انجام دهید. برای مثال، میتوانید کاربر را به منطقهای مناسب منتقل کنید یا از وی خواسته شود که لوکیشن فیک را خاموش کند.
نظرات
دیدگاهی برای این مطلب ثبت نشده است.