我现在已经解决了
我想像Play商店应用程序一样处理网络连接。
我创建了一个webview,想要加载一个URL,比如www.bing.com
如果网络连接可用则 加载网址 其他 使用Button加载自定义URL。 端
如果按下此按钮没有连接,我想尝试再次加载URL?换句话说,我希望在用户连接后再次调用此活动。我该怎么做?
以下是我的代码:
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.support.v4.app.NavUtils;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
public class WebActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
if(isNetworkStatusAvailable (getApplicationContext())) {
Toast.makeText(getApplicationContext(), "Loading...", Toast.LENGTH_SHORT).show();
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.bing.com");
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Toast.makeText(getApplicationContext(), "Internet Connection Unavailable Or " + description , Toast.LENGTH_LONG).show();
Intent errorIntent = new Intent(WebActivity.this, NetworkErrorActivity.class);
startActivity(errorIntent);
finish();
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
} else {
Toast.makeText(getApplicationContext(), "Internet Connection Unavailable.", Toast.LENGTH_LONG).show();
Intent errorIntent = new Intent(this, NetworkErrorActivity.class);
startActivity(errorIntent);
finish();
}
// Show the Up button in the action bar.
setupActionBar();
}
public static boolean isNetworkStatusAvailable (Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null)
{
NetworkInfo netInfos = connectivityManager.getActiveNetworkInfo();
if(netInfos != null)
if(netInfos.isConnected())
return true;
}
return false;
}
}
答案 0 :(得分:0)
你必须使用片段。 onCreate检查互联网连接,如果可用,请使用webview加载片段,然后使用按钮加载片段。在按钮OnClick再次检查互联网可用性,作为响应,您可以用webView替换片段。