gpt4 book ai didi

java - 如何以编程方式在异步任务中等待android(java)中的wifi连接(接入点)?

转载 作者:行者123 更新时间:2023-12-02 10:14:29 26 4
gpt4 key购买 nike

我正在使用 android studio 制作一个 android 应用程序。这个想法是通过wifi连接到我的设备(接入点),我将来可能不需要扫描,我只是想以编程方式连接它。确实如此!工作!!但是我想在接入点可用时执行一些代码,而且其中重要的部分是我想在我的Android手机IS连接时执行一些代码到接入点。

问题:如何在异步任务中检查wifi状态是否改变?

这是我使用的代码:


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_settings,
container, false);

button = (Button) view.findViewById(R.id.add_device_button);

WifiTask wifiTask = new WifiTask();
wifiTask.execute();

return view;
}

public class WifiTask extends AsyncTask<Boolean,Void,Boolean> {

@Override
protected void onPostExecute(Boolean wifi_enabled) {
super.onPostExecute(wifi_enabled);


if(wifi_enabled != true){
button.setEnabled(false);
Toast.makeText(getContext(),"Enabling Wifi", Toast.LENGTH_SHORT).show();
}
if( wifi_enabled == true) {
button.setEnabled(true);
}
}

@Override
protected Boolean doInBackground(Boolean... booleans) {
WifiManager wifiManager = (WifiManager)getActivity().getApplicationContext().getSystemService(Context.WIFI_SERVICE);
Boolean is_wifi_enabled = wifiManager.isWifiEnabled();
Log.i("debug", is_wifi_enabled.toString() + " wifi is enabled");

if(is_wifi_enabled == false)
{
wifiManager.setWifiEnabled(true);
is_wifi_enabled = wifiManager.isWifiEnabled();
}

return is_wifi_enabled;
}
}

最佳答案

  1. 检查您的互联网连接
  2. 如果您的互联网连接已连接,请执行某些操作,未连接则延迟几分钟,如果延迟结束,请重新检查

检查互联网>>>>

    private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//enter code here
return cm.getActiveNetworkInfo() != null;
}

延迟>>>

handler = new Handler();

final Runnable r = new Runnable() {
public void run() {
tv.append("Hello World");
handler.postDelayed(this, 1000);
}
};

handler.postDelayed(r, 1000);

关于java - 如何以编程方式在异步任务中等待android(java)中的wifi连接(接入点)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54775677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com