2012-05-16 3 views
4

성공적으로 GsmCellLocation 및 관련 cid 및 lac 정보를 얻었지만 서비스하는 셀의 PSC (기본 스크램블링 코드)는 항상 초기화 된 값 -1로 되돌아옵니다. 서빙 셀의 실제 PSC 값을 얻을 수있는 사람은 누구입니까?GsmCellLocation을 사용하는 getPsc()는 항상 -1을 반환합니다.

telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation(); 
psc = cellLocation.getPsc(); 
Log.d(TAG, "PSC = " + psc); 

나는 모든 권한이 필요합니다. 이웃 사람 목록도 빈 상태로 반환되지만 현재로서는 문제가 아닙니다.

+0

'getPsc()'가 올바른 값을 반환하는 장치 모델 (모든 Android 버전)을 제공해주십시오. 리플렉션을 사용해야하는 솔루션조차도 환영합니다. –

+0

위의 코드와 함께 UMTS에 연결된 Nexus 4에서 cellLocation.getPsc()가보고되었음을 확인할 수 있습니다. getNeighboringCellInfo에 대해서도. –

답변

1

PSC는 UMTS 네트워크에서만 사용할 수 있습니다.
확인 네트워크 유형 getNetworkTypeNETWORK_TYPE_UMTS하지 NETWORK_TYPE_EDGE

+1

나는 그것을 알고있다. 'getPsc()'는 내가 테스트 한 장치의 ** UMTS ** 네트워크에서 항상'-1'을 반환합니다. –

+0

매니페스트에 'ACCESS_COARSE_LOCATION' 권한이 있습니까? – pawelzieba

+0

예, 권한이 있습니다. –

0

나는이 일부 휴대 전화에서 작동 읽고 있다면 - 구글 넥서스 폰은 그들 중 하나가되고있다.

내 Motorolla Razr에서 테스트 코드를 실행하려고했습니다. -1을 반환합니다.

안드로이드 소스 코드 (GsmServiceStateTracker.java)를 보면이 기능이 선택 사항이며 대부분의 전화기에는 구현되지 않은 것처럼 보입니다. 찾고있는 정보는 GSM 모뎀에서 원치 않는 메시지로 전송되며 그 외의 다른 용도 (안드로이드 소스에서 볼 수있는 한)는 getPsc()에서 반환 된 값보다 사용되지 않습니다.

왜 그런지 구현하지 않아도됩니다.

또한 테스트 코드를 확장하여 PSC 값을 가져 오는 데 사용할 수있는 인접 셀 정보를 얻으려고했습니다. 인접한 셀 정보를 가져 오는 데 사용되는 at 명령이 내 전화기의 GSM 모뎀에 구현되어 있지 않기 때문에 작동하지 않습니다.

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation(); 
Log.d(TAG, "cid = " + cellLocation.getCid()); 
Log.d(TAG, "lac = " + cellLocation.getLac()); 

int psc = cellLocation.getPsc(); 
Log.d(TAG, "PSC = " + psc); 

List<NeighboringCellInfo> neighCell = null; 
neighCell = telephonyManager.getNeighboringCellInfo(); 
for (int i = 0; i < neighCell.size(); i++) 
{ 
    NeighboringCellInfo thisCell = neighCell.get(i); 
    int CID = thisCell.getCid(); 
    int RSSI = thisCell.getRssi(); 
    int PSC = thisCell.getPsc(); 
    Log.d(TAG, " "+CID+" - "+RSSI + " - " + PSC); 
} 

정말 휴대폰이 구현 무엇인지 찾으려면

, 당신은 some benchmark app에 테스트를 추가하고 희망 시간에 어떤 결과를 얻을 수 있습니다.

+0

Nexus의 버전을 알고 계십니까? Nexus S/Galaxy Nexus/Nexus 7? –

+0

휴대 전화 기능이 없기 때문에이 기능은 Nexus의 '휴대 전화'에서 작동하고 타블렛에서는 작동하지 않는다고 생각합니다. 나는 그 전화를 가지고 있지 않아 내가 시험 할 수있다. : – wojciii

+0

라디오 로그에서 PSC를 얻을 수있는 방법이 있습니까? 라디오 로그에서 LAC 및 CID 만 볼 수 있습니다 .PSC도 인쇄되어 있습니까? –