gpt4 book ai didi

java - 阻止某些代码在程序流中执行

转载 作者:行者123 更新时间:2023-12-01 04:54:50 26 4
gpt4 key购买 nike

在主 Activity 的 onCreate 方法中,我有一些代码正在检查 wifi 连接是否已启用。如果不是,我会尝试自动启用它(现在非常重要)然后我想做其他东西(启动服务..和其他东西)。非常重要的是,必须在继续执行之前启用它!

我已经尝试过 AsyncTask ,但没有成功。 (在 AsyncTask 中的任务完成之前,代码仍在下面执行)。

如何实现某些代码特定任务完成后执行?

编辑:

我在主要 Activity 中的onCreate

wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 

if(!wifiManager.isWifiEnabled()) {


new Asyn(this, progress, wifiManager);


}


startService(new Intent(intentt));

异步类

public class Asyn extends AsyncTask<Context, Integer, Long> {

private Context context;
private ProgressDialog pd;
private WifiManager wm;

public Asyn(Context context, ProgressDialog pd, WifiManager wm) {
this.context = context;
this.pd = pd;
this.wm = wm;
}



@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pd = ProgressDialog.show(context, "", "Enabling wifi");

}

@Override
protected Long doInBackground(Context... params) {

wm.setWifiEnabled(true);


return null;
}

@Override
protected void onPostExecute(Long result) {
// TODO Auto-generated method stub
super.onPostExecute(result);

pd.dismiss();

}

}

在 wifi 未完全启用之前,我不想执行“startService”!

最佳答案

异步任务不是解决方案,因为启动 WIFI 是您不能假设在调用 wm.setWifiEnabled(true); 后会发生的事情您必须在 WiFi 状态下添加广播接收器。请看一下这个答案:

Listening WIFI state

我相信第二个答案(不是被接受的答案)就是您所寻求的

关于java - 阻止某些代码在程序流中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14368220/

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