Cha*_*ins 112
使用TelephonyManager.
http://developer.android.com/reference/android/telephony/TelephonyManager.html
正如Falmarri所说,你会想要使用getPhoneType FIRST,看看你是否在处理GSM手机.如果是,那么您也可以获得SIM状态.
TelephonyManager telMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
int simState = telMgr.getSimState();
switch (simState) {
case TelephonyManager.SIM_STATE_ABSENT:
// do something
break;
case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
// do something
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED:
// do something
break;
case TelephonyManager.SIM_STATE_PUK_REQUIRED:
// do something
break;
case TelephonyManager.SIM_STATE_READY:
// do something
break;
case TelephonyManager.SIM_STATE_UNKNOWN:
// do something
break;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
从API 26(Android O Preview)开始,您可以使用getSimState(int slotIndex)ie 查询SimState以查找单个SIM卡插槽:
int simStateMain = telMgr.getSimState(0);
int simStateSecond = telMgr.getSimState(1);
Run Code Online (Sandbox Code Playgroud)
如果你正在使用和更老的api开发,你可以使用 TelephonyManager's
String getDeviceId (int slotIndex)
//returns null if device ID is not available. ie. query slotIndex 1 in a single sim device
int devIdSecond = telMgr.getDeviceId(1);
//if(devIdSecond == null)
// no second sim slot available
Run Code Online (Sandbox Code Playgroud)
这是在API 23中添加的 - 文档在这里
Aru*_*mar 12
您可以查看以下代码:
public static boolean isSimSupport(Context context)
{
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); //gets the current TelephonyManager
return !(tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43997 次 |
| 最近记录: |