imei 獲取

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);
發佈了30 篇原創文章 · 獲贊 34 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章