您的位置:首页 > 移动开发 > Android开发

android获取SIM卡状态

2016-01-04 11:32 393 查看
最近遇到需要获取SIM卡状态,发现可以通过两种方式获得

1.android.telephony.TelephonyManager中的getSimState()来获得,

public
int getSimState() {

//Do-not-delete-multisim-flag
begin

if
(SIM_COUNT_CONFIG_MULTISIM) {

if
(DEBUG) Log.d(TAG, "@@ getSimState() for linkId: " + getDefaultPSSim());

return
getSimStateMSMS(getDefaultPSSim());

}

//Do-not-delete-multisim-flag
end

String
prop = SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE);

if
("ABSENT".equals(prop)) {

return
SIM_STATE_ABSENT;

}

else
if ("PIN_REQUIRED".equals(prop)) {

return
SIM_STATE_PIN_REQUIRED;

}

else
if ("PUK_REQUIRED".equals(prop)) {

return
SIM_STATE_PUK_REQUIRED;

}

else
if ("NETWORK_LOCKED".equals(prop)) {

return
SIM_STATE_NETWORK_LOCKED;

}

else
if ("READY".equals(prop)) {

return
SIM_STATE_READY;

}

else
{

return
SIM_STATE_UNKNOWN;

}

}

2.通过导入import com.android.internal.telephony.TelephonyProperties和

import android.os.SystemProperties;

来获得SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE)的值如果是"READY"即是有卡,"UNKNOW"即无卡
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: