我正在尝试创建一个基于谷歌表单的Android项目,我希望应用程序关闭或不显示链接,如果它无法连接到互联网,这里是代码,尝试使用退出,但它没有工作,任何帮助都会很棒。
package tscolari.mobile_sample;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class AndroidMobileAppSampleActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView mainWebView = (WebView) findViewById(R.id.mainWebView);
WebSettings webSettings = mainWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mainWebView.setWebViewClient(new MyCustomWebViewClient());
mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mainWebView.loadUrl("the url of form");
}
private class MyCustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
i want something like this
if(mainwebview==null)//not able to load page
{
//close the application
}
答案 0 :(得分:2)
使用此功能检查互联网连接: [注意:这不是我原来的代码。我从教程中接过它,但我不知道哪一个]
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class CheckNetworkConnection {
public static boolean isConnectionAvailable(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected()
&& netInfo.isConnectedOrConnecting()
&& netInfo.isAvailable()) {
return true;
}
}
return false;
}
}
基本上,只需做一个if(!CheckNetworkConnection.isConnectionAvailable(myContext)) {/* Close App*/ }
。要关闭活动,请使用finish()
。然而,要关闭整个应用程序read here,因为它在这里简单回答了我所能解决的所有问题。请注意,在没有用户输入的情况下突然关闭应用程序并不是一个好主意。
finish()
是关闭活动的好方法 - 它也将关闭整个应用程序(除非活动以startActivityForResult()
或类似的方式启动)
答案 1 :(得分:1)
我正在检查互联网连接
public static boolean isInternetAvailable(Context cxt) {
final ConnectivityManager conMgr = (ConnectivityManager) cxt
.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo i = conMgr.getActiveNetworkInfo();
// if there is no active internet connection
if (i == null || !i.isConnected() || !i.isAvailable()) {
return false;
}
return true;
}
您可以使用finish()退出应用,但是您应该让用户知道为什么要关闭该应用。