Как восстановить сетевое соединение в приложении Android? - PullRequest
0 голосов
/ 27 декабря 2011

Не могу обнаружить, что сетевое соединение доступно для часто. Так что я попробовал BroadcastReceiverfunction. Но это не работает. Любое тело любезно Помогите мне Спасибо заранее! Я хочу проверить 5 секунд.

Intent Broadcast = new Intent(this,ReceiverName.class);
startActivity(Broadcast);

Выше кодирование для Cal Class ReceiverName

package com.android.cdtech;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.ConnectivityManager;
 import android.view.View;

 class ReceiverName extends Activity {
 BroadcastReceiver r = new BroadcastReceiver(){

    @Override
    public void onReceive(Context context, Intent intent) {
         ConnectivityManager cm = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
            if (cm == null)
                return;
            if (cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected()) {
                saveData();
            } else {
                // Do nothing or notify user somehow
            }

    }
   // code to handle broadcase

    private void saveData() {
        final saveData dh=new saveData(null);
        webService calService=new  webService();
         dh.open();
         Cursor c = dh.pay();
         String text = "";
         do{
          text = text+ " "+"\n"+c.getString(4);
          System.out.println(c.getCount());
         // Toast.makeText(this,"Name:" +c.getString(1)+c.getString(2)+c.getString(3)+c.getString(4)+"",Toast.LENGTH_LONG).show();

          calService.paymentReceipt("PaymentReceipt",c.getString(1),c.getString(2),c.getString(3),c.getString(4),"gf","0");
         }
         while (c.moveToNext()); 
         dh.close();

    }
 };
}

1 Ответ

0 голосов
/ 27 декабря 2011

Попробуйте использовать следующий код для проверки сетевого подключения

Как проверить доступность сети

public static boolean isNetworkPresent(Context context) {
        boolean isNetworkAvailable = false;
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        try {

            if (cm != null) {
                NetworkInfo netInfo = cm.getActiveNetworkInfo();
                if (netInfo != null) {
                    isNetworkAvailable = netInfo.isConnectedOrConnecting();
                }
            }
        } catch (Exception ex) {
            Log.e("Network Avail Error", ex.getMessage());
        }
        //check for wifi also
        if(!isNetworkAvailable){
            WifiManager connec = (WifiManager) context
                    .getSystemService(Context.WIFI_SERVICE);
            State wifi = cm.getNetworkInfo(1).getState();
            if (connec.isWifiEnabled()
                    && wifi.toString().equalsIgnoreCase("CONNECTED")) {
                isNetworkAvailable = true;
            } else {

                isNetworkAvailable = false;
            }

        }
        return isNetworkAvailable;
    }
...