Actually, it looks like when I run this without stopping at
breakpoints, I'm getting the correct behavior.

Would this possibly be related to timing out after waiting 10 seconds
for onReceive to return?

On Oct 7, 11:36 am, vol <volmar...@gmail.com> wrote:
> I've created a test project with three identical classes that extend
> BroadcastReceiver, named
>
> TestReceiverOne
> TestReceiverTwo
> TestReceiverThree
>
> They each have the following function as their content:
>
>         @Override
>         public void onReceive(Context context, Intent intent) {
>                 Bundle result = getResultExtras(false);
>                 if(result == null) {
>                         result = new Bundle();
>                 }
>                 int numResults = getResultCode();
>                 numResults++;
>                 setResultCode(numResults);
>                 result.putByteArray("result" + (numResults), 
> this.getClass().getName
> ().getBytes());
>                 setResultExtras(result);
>         }
>
> Additionally, my test Activity has the following code:
>
>         sendOrderedBroadcast(i, null, new BroadcastReceiver() {
>                 @Override
>                 public void onReceive(Context context, Intent intent) {
>                         Bundle results = getResultExtras(true);
>                         int numResults = getResultCode();
>                         tv.setText("" + numResults + " results");
>                         for(String key : results.keySet())
>                                 tv.setText(tv.getText() + "\n" + key + ": " + 
> new String
> (results.getByteArray(key)));
>                         tv.invalidate();
>                 }
>         }, null, 0, null, null);
>
> I've added each BroadcastReceiver class to the manifest, have it
> accept the appropriate action/category, and start debugging. I've set
> breakpoints in the onReceive method of each test class, and in the
> anonymous inner BroadcastReceiver in my onCreate.
>
> Unfortunately, I seem to be getting somewhat undefined behavior.
> Sometimes getResultExtras in my second onReceive will return null.
> Sometimes getResultCode in the second onReceive returns 0. Sometimes
> I'm 1 off in my third onReceive. Sometimes I get the wrong numResults
> in onReceive in my activity.
>
> What am I missing here? Is there some other behavior I have to specify
> when using setResult and getResult in an ordered broadcast?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to