作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
问题:ActivityA 使用共享元素转换启动 ActivityB 间歇性崩溃不能始终如一地重现API 级别:23、24 和 25
启动 Activity 的代码:
Intent intent = new Intent(this, ActivityB.class);
Pair<View, String> logoTransition = Pair.create(logo, getString(R.string.transition_logo));
Pair<View, String> logoTextTransition = Pair.create(logoText, getString(R.string.transition_logo_text));
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, logoTransition, logoTextTransition);
ActivityCompat.startActivity(this, intent, options.toBundle());
堆栈跟踪(API 23):
Exception java.lang.IllegalArgumentException:
android.os.Parcel.readException (Parcel.java:1606)
android.os.Parcel.readException (Parcel.java:1555)
android.app.ActivityManagerProxy.isTopOfTask (ActivityManagerProxy.java:4787)
android.app.Activity.isTopOfTask (Activity.java:5753)
android.app.Activity.cancelInputsAndStartExitTransition (Activity.java:4075)
android.app.Activity.startActivityForResult (Activity.java:4052)
android.app.Activity.startActivity (Activity.java:4312)
android.support.v4.content.ContextCompat.startActivity (ContextCompat.java)
__null__.getDrawable (ContextCompat.java)
__null__.isDeviceProtectedStorage (ContextCompat.java)
com.my.app.activity.ActivityA.startMainActivity (ActivityA.java)
有谁知道是什么导致了这种行为?对此有任何建议的修复吗?
最佳答案
我想,您不应该使用该版本的支持库中的方法。当然,由于随机堆栈跟踪,我无法从您现有的问题中弄清楚。
自 Translation Scene 从 4.4 开始引入。您可以包括 api 弃用。而且,推荐,不然,为什么我们需要这两种类型?
if (Build.VERSION.SDK_INT >= 21) {
ActivityOptions options = ActivityOptions
.makeSceneTransitionAnimation(this, logoTransition, logoTextTransition);
startActivity(this, intent, options.toBundle());
}
else {
ActivityOptionsCompat options = ActivityOptionsCompat
.makeSceneTransitionAnimation(this, logoTransition, logoTextTransition);
ActivityCompat.startActivity(this, intent, options.toBundle());
}
关于android - ActivityManagerProxy 中的 IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42315167/
问题:ActivityA 使用共享元素转换启动 ActivityB 间歇性崩溃不能始终如一地重现API 级别:23、24 和 25 启动 Activity 的代码: Intent intent = n
我是一名优秀的程序员,十分优秀!