2

私のアプリはインターネット接続が必要なので、ユーザーが接続しているかどうかを確認します。しかし、アクティビティが開始されたときにのみチェックされるので、アクティビティの開始後にユーザーが接続していないかどうかをどのように検出できますか?

アクティビティの開始時に接続を検出するために使用するコードは次のとおりです。

@Override

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main );

        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = cm.getActiveNetworkInfo();
        if (info != null) {
            if (!info.isConnected()) {
            }
        }
        else {
            Intent intent = new Intent(hello.this, connectionerror.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
            hello.this.finish();
        }

.....私のアプリの他のコードはここに続きます........

4

1 に答える 1

3

BroadcastReceiverに登録できますandroid.net.conn.CONNECTIVITY_CHANGE。(どのネットワークが変更されたか) インテントを調べるか、単にConnectivityManager.

于 2011-08-08T21:21:37.807 に答える