[英]How to read IMEI from Dual SIM Phone
我正在使用Xamarin(C#)编写一个Android应用,该应用需要从Dual SIM手机中的两个SIM卡获取IMEI和漫游状态。 我发现了一些Java代码可以做到这一点。 但是我不知道如何将Java反射转换为C#(即使我使用Java-C#转换程序也是如此)。 这是链接: Android:检查手机是否为双SIM卡
有人可以帮我吗?
这是文章中需要转换为C#的代码片段
private static String getDeviceIdBySlot(Context context, String predictedMethodName, int slotID) throws GeminiMethodNotFoundException {
String imei = null;
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 getSimID = telephonyClass.getMethod(predictedMethodName, parameter);
Object[] obParameter = new Object[1];
obParameter[0] = slotID;
Object ob_phone = getSimID.invoke(telephony, obParameter);
if(ob_phone != null){
imei = ob_phone.toString();
}
} catch (Exception e) {
e.printStackTrace();
throw new GeminiMethodNotFoundException(predictedMethodName);
}
return imei;
}
首先在清单中添加权限为
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
这将返回IMEI android.telephony.TelephonyManager.getDeviceId().
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.