In UMTS, il PSC è un tipo di identificatore di cella locale. È "localmente" unico nel fatto che a tutte le celle vicine, così come a tutti i vicini di queste celle, è garantito un PSC diverso rispetto alla cella corrente. Significa anche che non incontrerai mai due celle vicine con lo stesso PSC. Tuttavia, potrebbero esserci celle con lo stesso PSC situate in diverse parti del paese.
Il NeighboringCellInfo per una cella UMTS avrà solo il set PSC mentre tutti gli altri campi (MCC, MNC, LAC, CID) non saranno validi. L'unico modo per scoprire questi parametri sarebbe quello di memorizzare tutti i campi (MCC, MNC, LAC, CID e PSC) per ogni cella che si incontra, quindi quando si ottiene un PSC "sconosciuto" cercare nei dati memorizzati. (Dovresti filtrare per i vicini della cella servente, poiché il PSC è solo un ID localmente unico, non uno globalmente unico).
In alternativa, il PSC di una cella insieme alla tupla MCC/MNC/LAC/CID di uno dei suoi vicini è anche un ID univoco globale che è possibile utilizzare. Siate consapevoli, tuttavia, che ogni cella avrebbe più identificatori di questo tipo (uno per ogni vicino).
Puoi dirmi in quale modello di telefono e versione di Android hai trovato 'getPsc()' funzionante? Apprezzalo se potresti rispondere. –
Ho lo stesso problema, per la rete UTMS, non riesco a ottenere il cellId e il lac, ma funziona bene con l'attuale torre cellulare connessa. Penso che non possa ottenere il cellid vicino per l'attuale livello di API. –