在某些活动中,它显示了一个包含在 WebView 中的网站,如果设备没有数据或未连接到 Wi-Fi 连接,我想显示一个很好的消息,可能带有一个图像,告诉用户什么看内容需要互联网连接。
例如在以下视图中:
public class Fragment_Home extends Fragment {
public Fragment_Home() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_home, container, false);
String url="http://www.uniagustiniana.edu.co/";
WebView view=(WebView) v.findViewById(R.id.wv_home);
view.getSettings().setJavaScriptEnabled(true);
view.setWebViewClient(new WebViewClient());// Agregamos un WebViewCliente, esto permite que se sigan ejecutando los links dentro de este WebView
view.loadUrl(url);
return v;
}
}
xml文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.tecnologias.uniagustapp.fragmentos.Fragment_Home">
<!-- TODO: Update blank fragment layout -->
<WebView
android:id="@+id/wv_home"
android:layout_width="match_parent"
android:layout_height="match_parent" />
目前,当计算机无法访问互联网时,它会向我显示此屏幕:
非常感谢你的帮助。
您可以添加一个要在其中显示的 html,
/assets
并在没有连接时加载它。本例中的文件被添加到里面:
如果您需要知道是否有可用的互联网,您应该检查是否存在与isAvailable()的连接以及是否存在连接以及是否可以使用isConnected()建立连接
使用上面的方法我们可以判断是否有连接,是否可以建立连接。
getActivity()
如果您在 a中,请记住用作上下文Fragment
,如果您是其中之一
Activity
,则可以通过以下方式使用应用程序上下文getApplicationContext()
添加权限,确定网络状态并拥有互联网权限非常重要:
要知道是否有 Internet 连接,请使用
ConnectivityManager
和类NetworkInfo
,通过这些类,您将获得您需要知道是否有 Internet 连接的信息。然后,您只需要使用条件,如果为 true 则加载网页,如果为 false 则加载错误消息。您可以从 url、html 文件或字符串加载错误消息。要使用这些类
ConnectivityManager
,NetworkInfo
您必须向AndroidManifest.xml添加以下权限:片段_首页
我想贡献我使用的方法,因为在给出的答案中没有考虑到 Android 版本。
使用示例: