qq分享取消後沒法操做的問題

若是QQ分享後沒法取消,則把下面代碼貼到你activity的onStar中

//判斷是否須要重啓
public static boolean isNeedRestart(Context context) {

        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);
        if (!tasks.isEmpty()) {
            ComponentName topActivity = tasks.get(0).topActivity;
            if (topActivity.getPackageName().equals(context.getPackageName())) {
                // 若當前棧頂界面是AssistActivity,則須要手動關閉
                if ("com.tencent.connect.common.AssistActivity".equals(topActivity.getClassName())) {
                    return true;
                }
            }

            if ("com.tencent.mobileqq".equals(topActivity.getPackageName())) {
                // 若當前棧頂界面是AssistActivity,則須要手動關閉
                if ("com.tencent.mobileqq.activity.ForwardRecentActivity".equals(topActivity.getClassName())) {
                    return true;
                }
            }
        }
        return false;
    }


//下面方法放到 onStart()中
if (SNSUtils.isNeedRestart(this)) {//解決QQ分享返回之後 無響應問題
            startActivity(getIntent().setClass(this, MainActivity.class)
                    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
            );
        }
複製代碼

原理分析:稍後bash

相關文章
相關標籤/搜索