Obtenez la force du signal dans Android
Je veux obtenir la puissance du Signal de l'Appareil au point que j'ai frappé l'appel d'API. J'ai cherché sur tous les threads et je ne réussis pas encore .
Donc je voudrais obtenir le signal de force comme
SignalStrength ss = null ; //some initialization
int n = ss.getGsmSignalStrength();
mais en utilisant cela , il est évident que je vais avoir la valeur null pointer exception depuis que j'ai initialisé SignalStrength
comme null . Mais je ne sais pas comment faire pour initialiser cette.
Aussi que je ne veux pas utiliser PhoneStateListener
parce qu'il est déclenché uniquement si le signal change .
Je suis la Force du Signal à l'aide du code ci-dessous
TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();
mais je ne veux pas utiliser CellSignalStrength
parce que c'est seulement ajouté à l'API de Niveau 17 et ne fonctionnera pas moins de 17 . Je veux le code de travail sur l'API de Niveau 7+ .
Ou n'importe quelle autre méthode, afin que je puisse obtenir la force du signal sur le point de frapper l'appel d'API ?
source d'informationauteur VIGNESH
Vous devez vous connecter pour publier un commentaire.
Définir Des Variables:
Puis ajouter cette classe à votre code:
et dans votre
onCreate
l'utilisation d'une méthode:Mondiale Définir :
onCreate
Méthode :Créer
myPhoneStateListener
Classe :Nous ne devrions pas initialiser signalstrength, plutôt que d'utiliser phonelistener et remplacer la méthode onSignalStrengthsChanged(SignalStrength signalStrength).
Pour eg., jetez un oeil à l'extrait de code suivant
à l'aide de TelephonyManager objet que vous pouvez écouter à la classe ci-dessus comme
Vous n'avez pas instancier SignalStrength (et, éventuellement, vous ne pouvez pas). de code de l'application.
Vous devez utiliser un PhoneStateListener (sous-classe), et de mettre en œuvre onSignalStrengthsChanged:
http://developer.android.com/reference/android/telephony/PhoneStateListener.html#onSignalStrengthsChanged(android.telephony.SignalStrength)
Un SignalStrength sera créé pour vous et est passé dans votre remplacement.
Cela a fonctionné pour moi:
Les services qui sont nécessaires:
La façon de collecter les métriques:
La "getLevel(signalStrength)" et "getDbm(signalStrength)" peut être trouvé ici.