有谁知道如何解决活动管理器崩溃?

时间:2015-09-09 06:25:02

标签: android android-activity activity-manager

我有两个活动都有一个用于登录的GoogleAPIClient。现在发生的事情是当我通过第一个活动进入第二个活动,然后我登录第一个活动,这是屏幕上的活动,应用程序崩溃。当我不从一个活动转到另一个活动时,没有任何事情崩溃。巧合的是,这只发生在第一次活动上。我从1号 - 2号 - 1号 - 2号开始,然后登录了第2个活动,并没有崩溃。

这是我的LogCat:

09-09 14:03:32.192    968-13080/? A/ActivityManager﹕ Activity Manager Crash
java.lang.IllegalArgumentException
        at com.android.server.am.ActivityManagerService.isTopOfTask(ActivityManagerService.java:11223)
        at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1629)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2606)
        at com.android.server.am.ActivityManagerServiceEx.onTransact(ActivityManagerServiceEx.java:448)
        at android.os.Binder.execTransact(Binder.java:446)
09-09 14:03:32.200  31715-31715/<MyPackage> E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: <MyPackage>, PID: 31715
    java.lang.IllegalArgumentException
            at android.os.Parcel.readException(Parcel.java:1544)
            at android.os.Parcel.readException(Parcel.java:1493)
            at android.app.ActivityManagerProxy.isTopOfTask(ActivityManagerNative.java:4517)
            at android.app.Activity.isTopOfTask(Activity.java:5448)
            at android.app.Activity.startActivityForResult(Activity.java:3857)
            at android.app.Activity.startActivity(Activity.java:4090)

我认为它在我的util类上的这行代码崩溃了,它用动画初始化了一个活动

public static void startActivityWithAnimations(Activity activity, Intent intent, AnimationUtils.ANIM_STYLE animationStyle) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Bundle animation = ActivityOptions.makeSceneTransitionAnimation(activity).toBundle();
        **activity.startActivity(intent, animation);**
    } else {
        activity.startActivity(intent);
        activity.overridePendingTransition(animationStyle.getEnterAnim(), animationStyle.getExitAnim());
    }
}

查看Activity类,我认为它在这行代码中崩溃了:

private boolean isTopOfTask() {
    try {
        **return ActivityManagerNative.getDefault().isTopOfTask(mToken);**
    } catch (RemoteException e) {
        return false;
    }
}

0 个答案:

没有答案