获得双卡卡槽的sim卡名

略微有点乱,不过希望可以帮助一些人找到一些方法。

1.获得sim卡名:

String card_name=MSimTelephonyManager.getTelephonyProperty(TelephonyProperties.PROPERTY_OPERATOR_ALPHA, i, "");

第二个参数:是卡一还是卡二;

第三个默认值。

2.跳转到settings里面的双卡网络设置的意图

Intent.setClassName("com.android.settings","com.android.settings.dualscheme.DualNetWorkSettings");



frameworks/base/telephony/java/com/android/internal/telephony/SubscriptionManager


TelephonyManagertm=(TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);

/*

*电话状态:

*1.tm.CALL_STATE_IDLE=0无活动

*2.tm.CALL_STATE_RINGING=1响铃

*3.tm.CALL_STATE_OFFHOOK=2摘机

*/

tm.getCallState();//int

/*

*电话方位:

*

*/

tm.getCellLocation();//CellLocation

/*

*唯一的设备ID

*GSM手机的IMEICDMA手机的MEID.

*ReturnnullifdeviceIDisnotavailable.

*/

tm.getDeviceId();//String

/*

*设备的软件版本号:

*例如:theIMEI/SV(softwareversion)forGSMphones.

*Returnnullifthesoftwareversionisnotavailable.

*/

tm.getDeviceSoftwareVersion();//String

/*

*手机号:

*GSM手机的MSISDN.

*Returnnullifitisunavailable.

*/

tm.getLine1Number();//String

/*

*附近的电话的信息:

*类型:List

*需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES

*/

tm.getNeighboringCellInfo();//List

/*

*获取ISO标准的国家码,即国际长途区号。

*注意:仅当用户已在网络注册后有效。

*CDMA网络中结果也许不可靠。

*/

tm.getNetworkCountryIso();//String

/*

*MCC+MNC(mobilecountrycode+mobilenetworkcode)

*注意:仅当用户已在网络注册时有效。

*CDMA网络中结果也许不可靠。

*/

tm.getNetworkOperator();//String

/*

*按照字母次序的currentregisteredoperator(当前已注册的用户)的名字

*注意:仅当用户已在网络注册时有效。

*CDMA网络中结果也许不可靠。

*/

tm.getNetworkOperatorName();//String

/*

*当前使用的网络类型:

*例如:NETWORK_TYPE_UNKNOWN网络类型未知0

NETWORK_TYPE_GPRSGPRS网络1

NETWORK_TYPE_EDGEEDGE网络2

NETWORK_TYPE_UMTSUMTS网络3

NETWORK_TYPE_HSDPAHSDPA网络8

NETWORK_TYPE_HSUPAHSUPA网络9

NETWORK_TYPE_HSPAHSPA网络10

NETWORK_TYPE_CDMACDMA网络,IS95AIS95B.4

NETWORK_TYPE_EVDO_0EVDO网络,revision0.5

NETWORK_TYPE_EVDO_AEVDO网络,revisionA.6

NETWORK_TYPE_1xRTT1xRTT网络7

*/

tm.getNetworkType();//int

/*

*手机类型:

*例如:PHONE_TYPE_NONE无信号

PHONE_TYPE_GSMGSM信号

PHONE_TYPE_CDMACDMA信号

*/

tm.getPhoneType();//int

/*

*ReturnstheISOcountrycodeequivalentfortheSIMprovider'scountrycode.

*获取ISO国家码,相当于提供SIM卡的国家码。

*

*/

tm.getSimCountryIso();//String

/*

*ReturnstheMCC+MNC(mobilecountrycode+mobilenetworkcode)oftheprovideroftheSIM.5or6decimaldigits.

*获取SIM卡提供的移动国家码和移动网络码.56位的十进制数字.

*SIM卡的状态必须是SIM_STATE_READY(使用getSimState()判断).

*/

tm.getSimOperator();//String

/*

*服务商名称:

*例如:中国移动、联通

*SIM卡的状态必须是SIM_STATE_READY(使用getSimState()判断).

*/

tm.getSimOperatorName();//String

/*

*SIM卡的序列号:

*需要权限:READ_PHONE_STATE

*/

tm.getSimSerialNumber();//String

/*

*SIM的状态信息:

*SIM_STATE_UNKNOWN未知状态0

SIM_STATE_ABSENT没插卡1

SIM_STATE_PIN_REQUIRED锁定状态,需要用户的PIN码解锁2

SIM_STATE_PUK_REQUIRED锁定状态,需要用户的PUK码解锁3

SIM_STATE_NETWORK_LOCKED锁定状态,需要网络的PIN码解锁4

SIM_STATE_READY就绪状态5

*/

tm.getSimState();//int

/*

*唯一的用户ID

*例如:IMSI(国际移动用户识别码)foraGSMphone.

*需要权限:READ_PHONE_STATE

*/

tm.getSubscriberId();//String

/*

*取得和语音邮件相关的标签,即为识别符

*需要权限:READ_PHONE_STATE

*/

tm.getVoiceMailAlphaTag();//String

/*

*获取语音邮件号码:

*需要权限:READ_PHONE_STATE

*/

tm.getVoiceMailNumber();//String

/*

*ICC卡是否存在

*/

tm.hasIccCard();//boolean

/*

*是否漫游:

*(GSM用途下)

*/

tm.isNetworkRoaming();//


你可能感兴趣的:(获得双卡卡槽的sim卡名)