我们可以使用相同的sharedUserId杀死其中一个活动吗?

时间:2011-01-13 09:04:54

标签: android

我们可以在平台2.1上使用相同的sharedUserId杀死其中一个活动吗? 只是一个。

2 个答案:

答案 0 :(得分:1)

不直接,因为您没有Activity对象可以调用finish()

答案 1 :(得分:0)

添加新API以完成活动:

ActivityManagerService.java:

    long callingId = Binder.clearCallingIdentity();
    ArrayList history = mHistory;
    try {
        synchronized (this) {
            for (int i = history.size() - 1; i >= 0; --i) {
                HistoryRecord r = (HistoryRecord) history.get(i);
                if (r.packageName.equals(packageName)) {
                    if (Config.LOGD)
                        Log.d(TAG, "  Force finishing activity "
                                + r.intent.getComponent().flattenToShortString());
                    if (null != r.app) {
                        r.app.removed = true;
                    }
                    r.app = null;
                    finishActivityLocked(r, i, Activity.RESULT_CANCELED, null, "uninstall");
                }
            }
        }
    } finally {
        Binder.restoreCallingIdentity(callingId);
    }