telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if (telMgr.getSimState() == telMgr.SIM_STATE_READY) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.mms", "com.android.mms.ui.ManageSimMessages"));
startActivity(intent);
} else if (telMgr.getSimState() == telMgr.SIM_STATE_ABSENT) {
String ok = MessageSettings.this.getString(R.string.ok);
String message = MessageSettings.this.getString(R.string.insert_sim_card);
new AlertDialog.Builder(MessageSettings.this)
.setMessage(message)
.setPositiveButton(ok, null)
.show();
} else {
String ok = MessageSettings.this.getString(R.string.ok);
String message = MessageSettings.this.getString(R.string.sim_state_unknow);
new AlertDialog.Builder(MessageSettings.this)
.setMessage(message)
.setPositiveButton(ok, null)
.show();
}
if (telMgr.getSimState() == telMgr.SIM_STATE_READY) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.mms", "com.android.mms.ui.ManageSimMessages"));
startActivity(intent);
} else if (telMgr.getSimState() == telMgr.SIM_STATE_ABSENT) {
String ok = MessageSettings.this.getString(R.string.ok);
String message = MessageSettings.this.getString(R.string.insert_sim_card);
new AlertDialog.Builder(MessageSettings.this)
.setMessage(message)
.setPositiveButton(ok, null)
.show();
} else {
String ok = MessageSettings.this.getString(R.string.ok);
String message = MessageSettings.this.getString(R.string.sim_state_unknow);
new AlertDialog.Builder(MessageSettings.this)
.setMessage(message)
.setPositiveButton(ok, null)
.show();
}
}
代码说明:首先获得TelephonyManager,然后通过TelephonyManager获得当前sim卡的状态,如果sim卡可用,跳转到信息应用的短信设定界面,如果没有sim卡,提示用户没有sim卡,提示和按钮的相关message都在xml中设定,在这里我不详述,如果当前的sim卡为状态未知,也响应的提示用户。