2011-08-17 3 views
3

블랙 베리 장치 용 MCC 및 MNC를 얻으려고합니다. 이 코드를 사용하고 있습니다 :블랙 베리에서 운영자를 위해 MCC 및 MNC 가져 오기

int code = RadioInfo.getCurrentNetworkIndex(); 
int mcc = RadioInfo.getMCC(code); 
int mnc = RadioInfo.getMNC(code); 
String mccS = Integer.toString(mcc); 
String mncS = Integer.toString(mnc); 

내가 인터넷의 오른쪽 값을 검색 할 때 비와이 티, 값을 얻고, 나는 MCC와 MNC가이 코드에서 얻은 것과 다를 것을 발견했다. 레바논 오퍼레이터 알파 예를 들어, I는 획득해야

MCC 지원 = 415 및 MNC = 1

I를 취득하고 = 1,045

MCC 지원 및 MNC = 1

왜인가요 사고? MCC와 MNC를 얻는 것이 올바른 방법입니까? 미리 감사

답변

7

에 당신은 당신이 수를 변환 할 필요가

String mcc = Integer.toHexString(RadioInfo.getMCC(RadioInfo.getCurrentNetworkIndex())); 
+0

내가 Integer.toHexString이 (GPRSInfo.getMCC()) 그 또는 GPRSInfo.getMCC 같은 일부() 작동 사용해야합니다 사용합니다. 저에게 알려주세요. –

2


를 사용하여 MCC를 얻을.

MCC 및 MCC가 십진수로 반환되는 반면 MCC 및 MNC는 16 진수로 나열됩니다. 예를 들어 AT & T® 모바일 네트워크에서 작동하는 BlackBerry 스마트 폰은 MCC = 784 (16 진수 310) 및 MNC = 896 (16 진수 380)을 반환합니다. 내 경험에

http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/1467358/How_To_-_Determine_the_MCC_and_MNC_of_the_current_network.html?nodeid=1467359&vernum=0

3

그것은 BB에 매우 지저분합니다. 다른 네트워크와 장치가 실험을 건너을 바탕으로, 우리는

// manual says MCCs can be identified as either 260 or 26F; actually for us it is decimal so we convert it to hexa 
// this replaceAll "f" stuff is strange, but seems to work: MNC==1F becomes 1 which nicely matches RadioInfo.getMNC(RadioInfo.getCurrentNetworkIndex()); 
int mcc = Integer.parseInt(TextUtils.replaceAll(Integer.toHexString(GPRSInfo.getCellInfo().getMCC()),"f", "")); 
관련 문제