要检查网络连接状态并等待HTML加载完成,您可以使用Android的WebViewClient类和ConnectivityManager类。以下是一个示例代码来实现此功能:
首先,在您的AndroidManifest.xml文件中添加以下权限:
然后,在您的活动类中,您可以使用以下代码来检查网络连接状态和加载HTML:
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
// 创建一个WebViewClient实例
webView.setWebViewClient(new WebViewClient() {
// 当页面加载完成时调用此方法
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Toast.makeText(MainActivity.this, "HTML加载完成", Toast.LENGTH_SHORT).show();
}
});
// 检查网络连接状态
if (isNetworkConnected()) {
// 加载HTML
webView.loadUrl("https://example.com");
} else {
Toast.makeText(this, "没有网络连接", Toast.LENGTH_SHORT).show();
}
}
// 检查网络连接状态
private boolean isNetworkConnected() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
}
请注意,上述示例使用了一个WebView实例(在布局文件中定义为“webView”)来加载HTML。在页面加载完成时,将显示一个Toast消息。
在onCreate方法中,我们首先启用WebView的JavaScript支持。然后,我们创建一个WebViewClient实例,并在其onPageFinished方法中显示一个Toast消息来指示HTML加载完成。
然后,我们调用isNetworkConnected方法来检查网络连接状态。如果有网络连接,则使用webView.loadUrl方法来加载HTML。否则,将显示一个Toast消息指示没有网络连接。