首页 > 其他分享 >android 中如何获取IMEI号

android 中如何获取IMEI号

时间:2023-03-11 13:32:13浏览次数:33  
标签:GeminiPhone String imei 获取 getDeviceId GEMINI IMEI android

1)在Telephony Framework内部,可以直接使用GSMPhone或GeminiPhone提供的接口。

KK之前的版本:

IMEI(International Mobile Equipment Identity)是国际移动设备身份码,在单卡工程中一个手机对应一个IMEI号,双卡工程中一张卡对应一个IMEI号。

下面是获得IMEI号的接口和demo code

API:

GSMPhone.java 中getDeviceId()

GeminiPhone.java 中getDeviceId() 和 getDeviceIdGemini()



Demo code:

import com.android.internal.telephony.Phone;

import com.android.internal.telephony.gemini.GeminiPhone;

import com.android.internal.telephony.PhoneFactory;

Phone phone;

phone = PhoneFactory.getDefaultPhone();

String imei=(GeminiPhone)phone.getDeviceId();



GeminiPhone mGeminiPhone;

String imei_sim1 = mGeminiPhone.getDeviceIdGemini(PhoneConstants.GEMINI_SIM_1);

String imei_sim2 = mGeminiPhone.getDeviceIdGemini(PhoneConstants.GEMINI_SIM_2);



KK版本上:

GSMPhone.java 中getDeviceId()

GeminiPhone.java 其中getDeviceIdGemini()已经没有了,而getDeviceId()获取的是default phone的IMEI;

所以直接使用GSMPhone.java中getDeviceId()方法;

Demo code:

GeminiPhone mGeminiPhone;

String imei_sim1=mGeminiPhone.getPhonebyId(PhoneConstants.GEMINI_SIM_1).getDeviceId();

String imei_sim2=mGeminiPhone.getPhonebyId(PhoneConstants.GEMINI_SIM_2).getDeviceId();



2)如需要在SDK开发(第三方APK)中获取IMEI号,请使用TelephonyManager中的getDeviceId()方法,或TelephonyManagerEx(双卡接口)中的getDeviceId(int simId)方法。

Demo code(获取DefaultPhone的IMEI):

import android.telephony.TelephonyManager;

String imei_sim = TelephonyManager.getDeviceId();



Demo code(双卡接口):

import android.telephony.TelephonyManagerEx;

String imei_sim1 = TelephonyManagerEx.getDeviceId(PhoneConstants.GEMINI_SIM_1);

String imei_sim2 = TelephonyManagerEx.getDeviceId(PhoneConstants.GEMINI_SIM_2);

标签:GeminiPhone,String,imei,获取,getDeviceId,GEMINI,IMEI,android
From: https://blog.51cto.com/u_15170706/6114550

相关文章