private int mMaxNameLength = 0;
private int mMaxNumberLength = 0;
public int getAdnNameAndNumberLength(int slotId) {
int[] simInfo;ITelephonyEX mItelephonyEX = ITelephonyEX.Stub
.asInterface(ServiceManager
.getServices(Context.TELEPHONY_SERVICE));
try {
simInfo = mItelephonyEX.getAdnStorageInfo(slotId);
if (simInfo != null) {
mMaxNameLength = simInfo[3]; //可以存储名字最大长度
/*如果存入是汉字,那么可以储存(mMaxNameLength -2)/2 个
如果是拉丁文,那么可以储存mMaxNameLength -3 个
*/
mMaxNumberLength = simInfo[2];//可以存储号码最大长度}
} catch (Exception e) {
// TODO: handle exception
}
}
PS:
SIM卡名字对应的输入框的mimeType是 :#displayName, 号码对应的是 :vnd.android.cursor.item/phone_v2