【发布时间】:2018-09-26 08:56:48
【问题描述】:
我想在我的应用程序中检查互联网连接。我找到了一个代码,但我真的是初学者,所以我不知道如何使用。
我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//I want something like this.
if(InternetCheck==true){
Toast("You are connected to internet")
}
else{
Toast("Connection Failed")
}
}
static class InternetCheck extends AsyncTask<Void,Void,Boolean> {
private Consumer mConsumer;
public interface Consumer { void accept(Boolean internet); }
public InternetCheck(Consumer consumer) { mConsumer = consumer; execute(); }
@Override protected Boolean doInBackground(Void... voids) { try {
Socket sock = new Socket();
sock.connect(new InetSocketAddress("8.8.8.8", 53), 1500);
sock.close();
return true;
} catch (IOException e) { return false; } }
@Override protected void onPostExecute(Boolean internet) { mConsumer.accept(internet); }
}
但我不知道如何从 AsyncTask 中获取布尔结果。请教我。
【问题讨论】:
标签: android android-asynctask connection