我正在開發一個與網絡有很強關係的應用程序。它必須連接一個強大的無線信號。當我開發一個應用程序時,我得到了一次應用程序,因爲它與網絡有着很強的關係,但是由於無線網絡沒有很好地工作,所以用戶指責應用程序並將它刪除。哪個可以是monitore Wifi信號強度的最佳方式Android
現在我將開發一個新的應用程序,我想阻止再次發生這種情況。首先,我擴展BroadcastReceiver,以便在連接丟失時通知應用程序。
public class ConnectivityReceiver extends BroadcastReceiver {
public static ConnectivityReceiverListener connectivityReceiverListener = null;
@Override
public void onReceive(Context context, Intent intent) {
boolean isConnected = AppUtilities.getWifiConnectionStatus(context);
if(connectivityReceiverListener != null){
connectivityReceiverListener.showMessageStatus(isConnected);
}
}
public interface ConnectivityReceiverListener {
void showMessageStatus(boolean status);
}
}
現在我需要監測無線信號強度,以在信號變低時通知用戶。 我已經有了一個方法來測量信號強度,並返回一個從0到4的整數,表示從低到高的信號強度。
public static int getWifiStrengh(Context context){
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int numberOfLevels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);
return level;
}
現在,我想知道什麼是最好的方法來持續監測信號強度。
我在考慮使用作業調度程序來持續監視信號強度,並在信號強度小於2時更改欄顏色(如紅色)以通知用戶。但我想知道是否有更好的方法來解決這個問題。