我正在开发一个与网络有很强关系的应用程序。它必须连接一个强大的无线信号。当我开发一个应用程序时,我得到了一次应用程序,因为它与网络有着很强的关系,但是由于无线网络没有很好地工作,所以用户指责应用程序并将它删除。哪个可以是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时更改栏颜色(如红色)以通知用户。但我想知道是否有更好的方法来解决这个问题。