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