나는이 일부 휴대 전화에서 작동 읽고 있다면 - 구글 넥서스 폰은 그들 중 하나가되고있다.
내 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에 테스트를 추가하고 희망 시간에 어떤 결과를 얻을 수 있습니다.
'getPsc()'가 올바른 값을 반환하는 장치 모델 (모든 Android 버전)을 제공해주십시오. 리플렉션을 사용해야하는 솔루션조차도 환영합니다. –
위의 코드와 함께 UMTS에 연결된 Nexus 4에서 cellLocation.getPsc()가보고되었음을 확인할 수 있습니다. getNeighboringCellInfo에 대해서도. –