I am passing the value to another activity but getting always null value
public class SatelliteDirectActivity extends Activity {
private Intent intent;
private Bundle b;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
intent = new Intent(SatelliteDirectActivity.this,ClsMainActivitySatelliteDirect.class);
b = new Bundle();
setContentView(R.layout.initial_splash_screen);
boolean bCheckInternetConnectivity = checkInternetConnection();
if(!bCheckInternetConnectivity)
{
Toast.makeText(this, "Please ensure that you have a internet connectivity", Toast.LENGTH_SHORT);
finish();
}
else
{
new GetCountryInformation().execute();
}
startActivity(intent);
finish();
}
private boolean checkInternetConnection() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
// test for connection
if (cm.getActiveNetworkInfo() != null
&& cm.getActiveNetworkInfo().isAvailable()
&& cm.getActiveNetworkInfo().isConnected()) {
return true;
} else {
Log.v("ERROR_LOG", "Internet Connection Not Present");
return false;
}
}
public class GetCountryInformation extends AsyncTask<String, Void,String> {
protected void onPreExecute() {
super.onPreExecute();
}
/* protected void onProgressUpdate(Integer... progress) {
//setProgressPercent(progress[0]);
}*/
@Override
protected String doInBackground(String... params) {
JSONObject mJsonObject = ClsGetJsonFunction.getJSONfromURL("http://www.sachdevbros.com/sdandroid/videos/country.php");
String [] sCountryNames = null;
String [] sCountryCid = null ;
try
{
JSONArray mJsonArray = mJsonObject.getJSONArray("results");
sCountryNames= new String[mJsonArray.length()];
sCountryCid= new String[mJsonArray.length()];
for(int icount = 0 ; icount <mJsonArray.length()-1; icount++)
{
JSONObject mJsonObject2 = mJsonArray.getJSONObject(icount);
sCountryNames [icount] = mJsonObject2.getString("country");
sCountryCid[icount] = mJsonObject2.getString("cid");
// Log.v("JSON", ClsGlobalConstants.sGLB_sCountryNames[icount]+ClsGlobalConstants.sGLB_sCountryCid[icount]);
}
}catch(JSONException je)
{
Log.v("ERROR_TAG", ""+je);
}
b.putStringArray("cou", sCountryNames);
b.putStringArray("cid", sCountryCid);
intent.putExtras(b);
return null;
}
protected void onPostExecute(Void... aa) {
super.onPostExecute(null);
// showDialog("Downloaded " + result + " bytes");
}
}
and receiving this as
final String country[] =this.getIntent().getStringArrayExtra("cou");
String cid[] =this.getIntent().getStringArrayExtra("cid");
This is because, you are starting other activity immediately after start the AsyncTask, It cause bundle empty, So if possible put your staring other activity code in
AsyncTask's postExecute().. Then you can get values in other activity..For this pass your activity reference in AsyncTask and using that reference call
startActivity()..