Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rjava.lang.IllegalArgumentException on startActivity(intent,bundle animantion)

Hi I am using following code but sometimes app is crashing with error:

java.lang.IllegalArgumentException in startActivity(slideactivity, bndlanimation);

if (android.os.Build.VERSION.SDK_INT >= 16) {
       Bundle bndlanimation = ActivityOptions.makeCustomAnimation(getApplicationContext(), R.anim.slide_in, R.anim.slide_out).toBundle();
       startActivity(slideactivity, bndlanimation);
     } else
       startActivity(slideactivity);
       finish();

Here is the crash logs

java.lang.IllegalArgumentException 1 at android.os.Parcel.readException(Parcel.java:1553) 2 at android.os.Parcel.readException(Parcel.java:1499) 3 at android.app.ActivityManagerProxy.isTopOfTask(ActivityManager‌​Native.java:4465) 4 at android.app.Activity.isTopOfTask(Activity.java:5361) 5 at android.app.Activity.startActivityForResult(Activity.java:37‌​70) 6 at android.app.Activity.startActivity(Activity.java:4003) 7 at com.tapcibo.tapcibo.uifragment.LaunchActivity.a(SourceFile:1‌​05)

like image 229
Rahul Devanavar Avatar asked Jun 24 '15 12:06

Rahul Devanavar


2 Answers

I found the problem, after digging really deep I saw that there is some problem with the SDK > 21 so lollipop up. In my case this happens when using transparent theme together with some enter and exit transitions.

Two options:

If I remove the ActivityOptions.makeCustomAnimation().toBundle(); and work good again.

If I set my theme to my app normal theme works good too.

I will have to investigate further but I guess there is some configuration on the theme that makes this crash.

like image 121
Marcel Avatar answered Nov 03 '22 03:11

Marcel


Try to use ActivityOptionsCompat instead of ActivityOptions if you are using ActivityCompat.startActivity(). As well use ActivityOptionsCompat.makeSceneTransitionAnimation() to make animation options.

like image 5
mieszk3 Avatar answered Nov 03 '22 02:11

mieszk3