это может дать вам оба imei телефона, который имеет двойной сим.
public static void samsungTwoSims(Context context) {
TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
try{
Class<?> telephonyClass = Class.forName(telephony.getClass().getName());
Class<?>[] parameter = new Class[1];
parameter[0] = int.class;
Method getFirstMethod = telephonyClass.getMethod("getDefault", parameter);
Log.d(TAG, getFirstMethod.toString());
Object[] obParameter = new Object[1];
obParameter[0] = 0;
TelephonyManager first = (TelephonyManager) getFirstMethod.invoke(null, obParameter);
Log.d(TAG, "Device Id: " + first.getDeviceId() + ", device status: " + first.getSimState() + ", operator: " + first.getNetworkOperator() + "/" + first.getNetworkOperatorName());
obParameter[0] = 1;
TelephonyManager second = (TelephonyManager) getFirstMethod.invoke(null, obParameter);
Log.d(TAG, "Device Id: " + second.getDeviceId() + ", device status: " + second.getSimState()+ ", operator: " + second.getNetworkOperator() + "/" + second.getNetworkOperatorName());
} catch (Exception e) {
e.printStackTrace();
}
}
@Pied Пайпер, пожалуйста, посмотрите на этот вопрос. – kittu88
ну, двойная реализация sim - это OEM, и дизайн варьируется от поставщика к поставщику. Вам нужно использовать отражение, чтобы найти точный класс, который может вернуть вам данные симов. Метод проб и ошибок способ – Neji
[Получить IMEI обоих SIM-слотов в Dual SIM андроид мобильных устройств] [1] [1]: http://stackoverflow.com/questions/14517338/android-check-whether -the-phone-is-dual-sim/17499889 # 17499889 – Saravanan