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"