我的应用程序的一个功能是在后台选择一个首选网络,就像Wifi Prioritizer那样,但我不想定期用计时器/时间表扫描Wifi网络。我想通过事件触发与WiFi切换相关的操作。
我尝试注册SCAN_RESULTS_AVAILABLE_ACTION,但我找不到触发该事件的任何Wifi扫描操作。我也查看了WifiManager和ConnectivityManager,但我找不到任何相关的事件。
假设我已经连接到Wifi网络,是否有任何事件/方法可以在后台持续检查其他(新/旧)WiFi网络。
P.S。这是我在stackoverflow中的第一个问题。
答案 0 :(得分:0)
首先,我们需要以下权限才能访问网络状态。将以下权限添加到清单文件中。
访问网络状态和 Wifi 所需的权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE"/>
创建扩展广播接收器并覆盖方法
的类import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
import android.net.ConnectivityManager;
public class Check_Connectivity extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent arg1) {
boolean isConnected = arg1.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
if(isConnected){
Toast.makeText(context, "Internet Connection Lost", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(context, "Internet Connected", Toast.LENGTH_LONG).show();
}}}