【发布时间】:2021-05-31 21:06:06
【问题描述】:
我在 android studio 421 工作了几天,我对 android 开发非常陌生。在这里我需要检查互联网连接,如果有互联网,我需要显示一个网页,如果没有互联网,我需要显示一个警告框,提示“找不到互联网连接”。这是我到目前为止所做的代码。
package com.example.x;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.WindowManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
public void onBackPressed()
{
if(web.canGoBack())
web.goBack();
}
WebView web;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
web = findViewById(R.id.webView);
WebSettings webSettings = web.getSettings();
webSettings.setJavaScriptEnabled(true);
web.setWebChromeClient(new WebChromeClient());
web.loadUrl(getString(R.string.u));
web.setWebViewClient(new WebViewClient());
}
private class Callback extends WebViewClient {
@Override
public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
return true;
}
}
}
但是当没有互联网连接时,警报不会显示。
我已启用
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在 AndroidManifest.xml 中。我被困在这里,我不知道下一步该怎么做。我google了很多,但找不到答案。谁能帮帮我?
【问题讨论】:
-
您几乎不应该(包括在这种情况下)连续检查任何内容。而是在状态更改时注册通知。
-
没错。检查是否有任何资源可用的最佳方法是在需要时尝试以正常方式使用它。任何其他技术都构成试图预测未来。无论如何,您必须在使用站点处理错误:为什么还要编写代码?
标签: java android webview connection