1

Android 開発の経験はほとんどありません。Web ビューを使用してシンプルなアプリを作成しました。ネットワーク接続がないときにユーザーに警告できるようにしたいと考えています。ただし、アラート ダイアログを表示することはできません。コードは、エラーや警告なしで正常にコンパイルされます。

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 または機内モードでネットワークを無効にしても、ダイアログまたはネットワーク チェックがトリガーされません。

私は何を間違っていますか?

敬具

4

1 に答える 1

0

1 つには、それぞれのケースでユーザーにアクティビティを表示していません。oncreate でブラウザを起動しています。URL を読み込むために WebView を使用していません。プリロードされたブラウザを使用して URL を表示しています。使用する

webview.loadUrl("http://mobil.vucfyn.dk/mobil");

oncreate 関数の最後の 3 行の代わりに

于 2012-08-14T22:50:31.297 に答える