مشکل در دریافت IMEI مبایل
سلام دوستان
من توسط خط زیر وقتی IMEI میخوام بگیرم برنامه کرش میکنه (Permission مربوط بهش هم تو برنامه قرار دادم) :
TelephonyManager tManager = (TelephonyManager)myActivity.getSystemService(Context.TELEPHONY_SERVICE);
ومدم از خط زیر استفاده کردم اما مشکل این روش اینه که در بعضی گوشی ها IMEI بصورت هش برمیگردونه و وقتی دکود میکنم میبینم اصلا ربطی به IMEI گوشی نداره! :
Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
مشکل کجاست بنظرتون؟
من با کد زیر می گیرم، جواب میده:
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Log.i(LOG_TAG, "IMEI: " + telephonyManager.getDeviceId());
ممنون دوست عزیز
این کد برای من در اندروید پایین تر از 6 مشکلی نداره اما در اندروید 6 و بالاتر برنامه کرش میکنه و ارور زیر رو میده :
getDeviceId: Neither user 10620 nor current process has android.permission.READ_PHONE_STATE
با توجه به جستجویی که کردم تو فروم stackoverflow گفتند باید درخواست پرمیشن بصورت runtime باشه در اندروید 6 و بالاتر
اما من خیلی از برنامه هارو دیدم بدون اینکه درخواستی بده imei گوشی رو میگیرن!
ممنون میشم دوستان راهنمایی کنند
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .