|
不插卡和插入中国电信卡(中国移动卡没有问题),生成的图传ID会不一样。
因为电信卡因为插入前后,IMEI号发生变化,不知是否这个问题引起。
如果是这个问题引起,用我们的提供Android发射调用获取IMEI号的方法,可以避免这个问题,即保证插卡前后读取的IMEI保持一致(我们这个之前也反馈过论坛,http://bbs.besovideo.com:8067/fo ... &extra=page%3D1)。
你们这个是不是可以采纳这个方法修改掉。
因为我们自己的授权,也是用这个方法避免IMEI号在插卡前后发生变化。
反射获取imei号的代码
/**
* 获取imei号码
*
* @param context 上下文
* @param slotID 卡槽id 0 1
* @return imei号
*/
private String getImei(Context context, int slotID) {
String imei = "";
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("getImei", 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();
}
return imei;
} |
|