Lonie
Lonie

Reputation: 275

IllegalArgumentException when execute activity Transition Anim

error log as follow

java.lang.IllegalArgumentException
at android.os.Parcel.readException(Parcel.java:1624)
at android.os.Parcel.readException(Parcel.java:1573)
at android.app.ActivityManagerProxy.isTopOfTask(ActivityManagerNative.java:4907)
at android.app.Activity.isTopOfTask(Activity.java:5691)
at android.app.Activity.cancelInputsAndStartExitTransition(Activity.java:4029)
at android.app.Activity.startActivityForResult(Activity.java:4006)
at android.support.v4.app.j.startActivityForResult(SourceFile:54)
at android.support.v4.app.n.startActivityForResult(SourceFile:65)
at android.app.Activity.startActivity(Activity.java:4266)

looks like something wrong when execute animtion , but i don't know how to solve this. by the way ,i use this to start activity

 ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context, sharedElements);
 ActivityCompat.startActivity(context, intent, optionsCompat.toBundle());

need help

Upvotes: 1

Views: 1001

Answers (2)

Muse
Muse

Reputation: 460

Use like this:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    ActivityOptionsCompat optionsCompat = 
    ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context, sharedElements);
    ActivityCompat.startActivity(context, intent, optionsCompat.toBundle());
} else {
   startActivity(context, intent);
}

Upvotes: 0

Muhammad Waqas
Muhammad Waqas

Reputation: 420

Do not cast context from activity:

ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(context, sharedElements);
ActivityCompat.startActivity(context, intent, optionsCompat.toBundle());

Upvotes: 1

Related Questions