Wie die übergabe von Daten aus service BroadcastReceiver in Android durch die Absicht

Ich versuche, rufen Sie einen BroadcastReceiver aus einem Dienst über die Absicht.

Rufe ich BroadcastReceiver wie folgt in meinem Dienst Datei :

    final Handler handler = new Handler();   
    final Runnable r = new Runnable()     {     
    public void run()                  {    

                //code here what ever is required  
                System.out.println("Runnnn");
                counter++;

                Intent i = new Intent();
                i.setAction("Refresh");
                Bundle b = new Bundle();
                b.putInt("Counter", counter);
                i.putExtra("Bundle", b);
                ctx.sendBroadcast(i);

                handler.postDelayed(this, 1000);     


                Toast.makeText(getApplicationContext(), "counter"+counter, Toast.LENGTH_LONG).show();



                }    

          };     
          handler.postDelayed(r, 1000);


onReceive() im BroadcastReceiver ist wie folgt:

public void onReceive(Context context, Intent arg1) {
    System.out.println("OnReceiveeeeee");

    if(arg1.getAction().equalsIgnoreCase("Refresh"))
    {
        System.out.println("Received Intent");
        Bundle b = arg1.getExtras();
        c=b.getInt("Counter");
        System.out.println("Counter in Receiver:::"+c);
    }
}


Aber ich bin immer mit dem Wert in der onReceive als null.


Jede Hilfe ist willkommen um den richtigen Wert in der onReceive () - Methode.


wartet auf Antwort.

Schreibe einen Kommentar