我對android開發的經驗很少,我用webview做了一個簡單的應用程序,我希望能夠在沒有網絡連接時提醒用戶。但是我不能讓警報對話框顯示出來。代碼編譯良好,沒有任何錯誤或警告。Android sdk:網絡檢查對話框永遠不會顯示
MainActivity.java
package dk.zerone.vuc;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
public final boolean networkCheck() {
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
// ARE WE CONNECTED TO THE NET
if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) {
return true;
} else if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED || connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED ) {
return false;
}
return false;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(networkCheck()) {
// INTERNET IS AVAILABLE, DO STUFF..
} else {
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("Reset...");
alertDialog.setMessage("R u sure?");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
} });
alertDialog.show();
}
/* Splash screen */
// ...
/* WebView */
WebView webview = new WebView(this);
webview.setWebViewClient(new WebViewClient());
setContentView(webview);
Uri uri = Uri.parse("http://mobil.vucfyn.dk/mobil");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
我在模擬器上測試代碼,禁用與F8或者飛行模式的網絡不觸發對話框或網絡檢查。
我在做什麼錯了?
親切的問候
你禁用活動前的網絡啓動? – 2012-08-14 22:51:12
是的,我啓用flightmode,並編譯應用程序。 – user1599309 2012-08-15 09:27:07