0
J'ai une méthode qui renvoie l'identifiant de cellule pour le périphérique LTE, mais sur certains périphériques, il renvoie -1. Voici la méthode:CellIdentityLte getCi() retourne -1 dans android
public int getCellId() {
int cellId = Integer.MAX_VALUE;
CellInfo cellInfo = null;
List<CellInfo> allCellInfo = telephonyManager.getAllCellInfo();
if(allCellInfo!= null && allCellInfo.size()>0)
cellInfo = allCellInfo.get(0);
if (cellInfo instanceof CellInfoLte) {
CellInfoLte cellInfoLte = (CellInfoLte) cellInfo;
if (cellInfoLte != null) {
cellId = cellInfoLte.getCellIdentity().getCi();
}
}
return cellId;
}
Merci pour la réponse. J'utilise Samsung Core Prime et LG Spirit, la plupart du temps il renvoie un identifiant de cellule valide mais dans certains cas, il renvoie -1. Quelle pourrait en être la raison? Pouvez-vous donner une référence pour cela? –
Ma référence principale est d'expérience personnelle avec une application de signal publié de plus de 300k téléchargements. Fondamentalement, je ne fais pas confiance à la plupart de la documentation de téléphonie pour les valeurs retournées. En outre, même lorsque les API publiques renvoient parfois -1, l'écran d'ingénierie système peut afficher les valeurs correctes. Dans un cas, l'utilisateur a pu récupérer les valeurs LTE après avoir forcé le mode non-LTE, puis revenir en mode LTE. Je suis toujours en train de rechercher d'autres solutions de contournement. – Anonsage