步骤:
startIntentSenderForResult()
。这将打开应用2中的活动B. 我希望在应用1中看到活动A.相反,我会在应用2中看到活动B.
以下是我已经尝试过的内容:
FLAG_ACTIVITY_NEW_TASK
标志添加到待处理的意图中。这会导致onActivityResult()
立即被调用(甚至在启动活动B之前)。startIntentSenderForResult()
替换为通常的startActivityForResult()
。这非常有效。不幸的是,由于系统的设计,我必须使用待定的意图。startIntentSenderForResult()
将其触发。这有效!所以问题不在于未决意图本身,而在于它是如何/在何处创建的。这可能是因为PendingIntent.getActivity()
?这是代码。
待定意图:
Intent intent = new Intent();
intent.setComponent(new ComponentName(app2, activityB));
intent.setAction(ACTION);
PendingIntent pIntent = PendingIntent.getActivity(context, INTENT_ID, intent, (PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT));
关闭未决意图:
startIntentSenderForResult(intent.getIntentSender(), REQUEST_CODE, null, 0, 0, 0);