Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BroadcastReceiver trying to return result during a non-ordered broadcast - PACKAGE_ADDED in Android

I am getting this exception in my below given code. i don't have any idea what is wrong with this code. Please help me out to get rid of this exception.

05-23 23:33:49.853: E/BroadcastReceiver(26895): BroadcastReceiver trying to return result during a non-ordered broadcast 05-23 23:33:49.853: E/BroadcastReceiver(26895): java.lang.RuntimeException: BroadcastReceiver trying to return result during a non-ordered broadcast 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.content.BroadcastReceiver.checkSynchronousHint(BroadcastReceiver.java:783) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.content.BroadcastReceiver.setResultCode(BroadcastReceiver.java:549) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at com.waypedia.rupesh.abhi.RetentionApplicationAddedBroadcastReceiver.onReceive(RetentionApplicationAddedBroadcastReceiver.java:18) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2446) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.app.ActivityThread.access$1700(ActivityThread.java:139) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.os.Handler.dispatchMessage(Handler.java:102) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.os.Looper.loop(Looper.java:136) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at android.app.ActivityThread.main(ActivityThread.java:5102) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at java.lang.reflect.Method.invokeNative(Native Method) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at java.lang.reflect.Method.invoke(Method.java:515) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 05-23 23:33:49.853: E/BroadcastReceiver(26895):     at dalvik.system.NativeStart.main(Native Method) 

Below is my code:

    public class RetentionApplicationAddedBroadcastReceiver extends WakefulBroadcastReceiver {     @Override public void onReceive(Context context, Intent intent) {      ComponentName comp = new ComponentName(context.getPackageName(),             RetentionAddIntentService.class.getName());     // Start the service, keeping the device awake while it is launching.     startWakefulService(context, (intent.setComponent(comp)));     setResultCode(Activity.RESULT_OK); //**LINE 18** } 
like image 659
rupesh Avatar asked May 23 '14 18:05

rupesh


People also ask

What is BroadcastReceiver in Android?

A broadcast receiver (receiver) is an Android component which allows you to register for system or application events. All registered receivers for an event are notified by the Android runtime once this event happens.

What is the time limit of broadcast Receiver in Android?

As a general rule, broadcast receivers are allowed to run for up to 10 seconds before they system will consider them non-responsive and ANR the app.


1 Answers

Delete setResultCode(). That is only for use with an ordered broadcast, as is described in the documentation for setResultCode().

like image 164
CommonsWare Avatar answered Oct 07 '22 18:10

CommonsWare