I need to retrieve the IMEI Number and phone number from the sim card. I got successfully get an IMEI number from the sim card. But not retrieve the phone number. It shows empty in using the telephony manager line number. Can anyone know some other ideas to get the phone number information? I am using the above code:
if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, Manifest.Permission.ReadSms) != Android.Content.PM.Permission.Granted &&
Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, Manifest.Permission.ReadPhoneNumbers) !=
Android.Content.PM.Permission.Granted && Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this,
Manifest.Permission.ReadPhoneState) != Android.Content.PM.Permission.Granted && Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessCoarseLocation) != Android.Content.PM.Permission.Granted)
{
RequestPermissions(new String[] { Manifest.Permission.ReadPhoneState, Manifest.Permission.ReadPhoneNumbers, Manifest.Permission.ReadSms,Manifest.Permission.AccessCoarseLocation }, PERMISSIONS_REQUEST_READ_PHONE_STATE);
}
else
{
setDeviceImei();
}
private void setDeviceImei()
{
var tMgr = (TelephonyManager)Forms.Context.ApplicationContext.GetSystemService(Android.Content.Context.TelephonyService);
Console.WriteLine(tMgr.Line1Number);
//string deviceId = getDeviceID(telephonyManager,0);
//string deviceId1 = getDeviceID(telephonyManager, 1);
String imeiNumber1 = tMgr.GetDeviceId(0); //(API level 23)
String imeiNumber2 = tMgr.GetDeviceId(1);
Console.WriteLine(imeiNumber1, imeiNumber2);
SubscriptionManager smgr = (SubscriptionManager)GetSystemService(TelephonySubscriptionService);
SubscriptionInfo sim1 = smgr.GetActiveSubscriptionInfoForSimSlotIndex(0);
SubscriptionInfo sim2 = smgr.GetActiveSubscriptionInfoForSimSlotIndex(1);
Console.WriteLine(sim1);
Console.WriteLine(sim2);
}