如何从双卡手机获取两个 IMEI 号码?
Posted
技术标签:
【中文标题】如何从双卡手机获取两个 IMEI 号码?【英文标题】:How can I get both IMEI numbers from dual SIM mobile? 【发布时间】:2012-08-06 12:41:41 【问题描述】:谁能帮我解决这个问题。
【问题讨论】:
IMEI 是为设备定义的,而不是为 SIM 卡定义的!所以你的问题没有意义。参见维基:en.wikipedia.org/wiki/International_Mobile_Equipment_Identity 请您检查一下双卡手机。每个 SIM 卡插槽都有一个唯一的 IMEI 号码。我刚才检查了。 双 SIM 卡手机非常罕见,但我相信您和我都对每个 SIM 卡插槽都有自己的 IMEI 感到惊讶。无论如何,我看不到在 android 中处理两个 SIM 卡的公共 API,因此您可能必须找到一些特定于设备的库。 ***.com/questions/5255147/dual-sim-card-android @Marek R... 现在我用屏幕截图更新了问题。 您可以在双 SIM 卡设备的情况下获得 2 个不同的 IMEI。请参考Pied Piper this answer,以获得双 SIM 卡手机的 2 种不同 IMEI。 【参考方案1】:你可以试试下面的代码,它会对你有所帮助。
TelephonyManager manager= (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
try
Class<?> telephonyClass = Class.forName(manager.getClass().getName());
Class<?>[] parameter = new Class[1];
parameter[0] = int.class;
Method getFirstMethod = telephonyClass.getMethod("getDeviceId", parameter);
Log.d("SimData", getFirstMethod.toString());
Object[] obParameter = new Object[1];
obParameter[0] = 0;
String first = (String) getFirstMethod.invoke(manager, obParameter);
Log.d("IMEI ", "first :" + first);
obParameter[0] = 1;
String second = (String) getFirstMethod.invoke(manager, obParameter);
Log.d("IMEI ", "Second :" + second);
catch (Exception e)
e.printStackTrace();
并在清单上添加权限。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
【讨论】:
【参考方案2】:有关 SIM #2(或任何其他默认 SIM)的信息完全取决于制造商。 Android 不提供用于多 SIM 卡设施的 API。 Android api 仅支持默认 SIM 卡插槽。您可以联系 Micromax(设备制造商),如果他可以为您提供 api 来支持他的硬件组件。
【讨论】:
以上是关于如何从双卡手机获取两个 IMEI 号码?的主要内容,如果未能解决你的问题,请参考以下文章
android开发中想获取双卡手机号码,两个号码的怎样获取?