Skip to content Skip to sidebar Skip to footer

Update Ul Response Of Broadcast Receiver Of Wifi In Android

I want to update the UI on the response of broadcast receiver.I have to class one is MainActivity and another one is CustomReceiver. MainActivity.java package com.example.broadcast

Solution 1:

Thanks @MIke it solves my problem.I use broadcast in the same class where the activity stand.In this way don't not need to initialize receiver name in Manifest.xml file.

package com.example.broadcasttest;

import java.net.URLEncoder;
import java.util.ArrayList;  
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

publicclassMainActivityextendsActivity {

    booleanmIsReceiverRegistered=false;
    MyBroadcastReceivermReceiver=null;
    booleanisInternetPresent=false,isJsonLoad =false;

    Button btn;
    TextView txt;

    intupFlag=0;
    @OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = (Button)findViewById(R.id.btn);
        txt = (TextView)findViewById(R.id.txt);

        txt.setText("hi.........1");
        newJsonForTest().execute();
        btn.setOnClickListener(newOnClickListener() {

            @OverridepublicvoidonClick(View v) {
                // TODO Auto-generated method stub
                upFlag =1;
            }
        });
    }


    @OverrideprotectedvoidonResume() {

        // Other onResume() code heresuper.onResume();

        if (!mIsReceiverRegistered) {
            if (mReceiver == null)
                mReceiver = newMyBroadcastReceiver();
            registerReceiver(mReceiver, newIntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
            mIsReceiverRegistered = true;
        }

    }

    @OverrideprotectedvoidonPause() {
        super.onPause();
        Log.e("UNREGISTER", "UNREGISTERloG");
        if (mIsReceiverRegistered) {
            unregisterReceiver(mReceiver);
            mReceiver = null;
            mIsReceiverRegistered = false;
        }

        // Other onPause() code here

    }

    privateclassMyBroadcastReceiverextendsBroadcastReceiver {

        @OverridepublicvoidonReceive(Context context, Intent intent) {


            Log.e("REGISTER", "REGISTERloG");
            ConnectionDetectorcd=newConnectionDetector(getApplicationContext());
            // get Internet status
            isInternetPresent = cd.isConnectingToInternet();

            if (isInternetPresent && upFlag ==1 && isJsonLoad) {
                updateUI(intent);
            }

        }
    }

    publicvoidupdateUI(Intent intent){


        Log.e("hi", "heloo");

        txt.setText("hi.........2");
        Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show();
    }


    classJsonForTestextendsAsyncTask<Void, Void, Void> {

        privateStringmsg=null;

        @OverrideprotectedvoidonPreExecute() {
            super.onPreExecute();

        }


        @Overrideprotected Void doInBackground(Void... params) {
            returnnull;
        }

        @OverrideprotectedvoidonPostExecute(Void  resultaaa) {

            Log.e("hi", "helo");

            isJsonLoad = true;
        }

    }

}

And here is my connectionDetector class.

package com.example.broadcasttest;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

publicclassConnectionDetector {

     private Context _context;

        publicConnectionDetector(Context context){
            this._context = context;
        }

        publicbooleanisConnectingToInternet(){
            ConnectivityManagerconnectivity= (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
              if (connectivity != null) 
              {
                  NetworkInfo[] info = connectivity.getAllNetworkInfo();
                  if (info != null) 
                      for (inti=0; i < info.length; i++) 
                          if (info[i].getState() == NetworkInfo.State.CONNECTED)
                          {
                              returntrue;
                          }

              }
              returnfalse;
        }


}

Post a Comment for "Update Ul Response Of Broadcast Receiver Of Wifi In Android"