2014-07-09 2 views
-1

В моем новом проекте мне нужно показать dbm в Toast. Я никогда не работал с силой сигнала. Я много искал в Интернете, но я не нашел никакой хорошей информации. В моем воображении это должно быть очень просто, Но я не могу построить что-то, что работает. Не могли бы вы мне помочь?Получите dbm в тосте

Button btn=(Button)findViewById(R.id.start); 
    btn.setOnClickListener(this);    
} 

public void onClick(View v) { 
    switch (v.getId()) { 
      case R.id.start: 
       Toast.makeText(this, "signal strength is " + this.signalDBM + "dBm", Toast.LENGTH_SHORT).show(); 
       break;  
+0

Так в чем проблема? – eleven

+0

попробуйте поставить 'getApplicationContext()' на место 'this' .. –

ответ

1

Wifi:

WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); 
int linkSpeed = wifiManager.getConnectionInfo().getRssi(); 

Cellular:

TelephonyManager telephonyManager = TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); 
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0); 
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength(); 
int linkSpeed = cellSignalStrengthGsm.getDbm(); 

В вашейToast:

Toast.makeText(this, "signal strength is " + linkSpeed + " dBm", 
Toast.LENGTH_SHORT).show(); 
Смежные вопросы