Ответ 1
Попробуйте использовать ActivityOptionsCompat
вместо ActivityOptions
, если вы используете ActivityCompat.startActivity()
.
Также используйте ActivityOptionsCompat.makeSceneTransitionAnimation()
, чтобы сделать варианты анимации.
Привет, я использую следующий код, но иногда приложение сбойно с ошибкой:
java.lang.IllegalArgumentException в 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();
Вот журналы сбоев
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 в 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)
Попробуйте использовать ActivityOptionsCompat
вместо ActivityOptions
, если вы используете ActivityCompat.startActivity()
.
Также используйте ActivityOptionsCompat.makeSceneTransitionAnimation()
, чтобы сделать варианты анимации.
Я нашел проблему, после глубокого рытья я увидел, что есть проблема с SDK > 21, так что леденец. В моем случае это происходит при использовании прозрачной темы вместе с некоторыми переходами ввода и вывода.
Два варианта:
Если я удалю ActivityOptions.makeCustomAnimation(). toBundle(); и снова работайте хорошо.
Если я установлю свою тему на свое приложение, нормальная тема тоже хорошо работает.
Мне нужно будет исследовать дальше, но я думаю, что есть определенная конфигурация на тему, которая делает этот сбой.
вместо
startActivity(slideactivity, bndlanimation);
использование
ActivityCompat.startActivity(this, slideactivity, bndlanimation)