Android 完成启动挂起意图的活动

Android 完成启动挂起意图的活动,android,android-intent,android-pendingintent,activity-finish,Android,Android Intent,Android Pendingintent,Activity Finish,在我的应用程序中,我创建了一个自定义通知,其中包含一个显示最近应用程序的按钮(而不是长按home按钮) 当用户打开主活动并按home按钮转到主屏幕时,拖动通知抽屉并单击按钮: 预期结果是显示最近的应用程序,主要活动是最近的应用程序之一 实际结果是显示最近的应用程序,但主要活动不在其中,并且主要活动继续 我的代码启动“RecentApps(是一个显示最近应用的虚拟类)”类,并具有挂起的意图 Intent recentAppIntent = new Intent(getBaseContext

在我的应用程序中,我创建了一个自定义通知,其中包含一个显示最近应用程序的按钮(而不是长按home按钮)

当用户打开主活动并按home按钮转到主屏幕时,拖动通知抽屉并单击按钮:

预期结果是显示最近的应用程序,主要活动是最近的应用程序之一

实际结果是显示最近的应用程序,但主要活动不在其中,并且主要活动继续

我的代码启动“RecentApps(是一个显示最近应用的虚拟类)”类,并具有挂起的意图

    Intent recentAppIntent = new Intent(getBaseContext(), RecentApps.class);
    PendingIntent pendingrecentAppIntent = PendingIntent.getActivity(getBaseContext(), 1, recentAppIntent, 0);
    notificationView.setOnClickPendingIntent(R.id.recentAppButt, pendingrecentAppIntent);
我认为问题在于getBaseContext,因此当主活动处于活动状态且未完成时,将显示最近的应用程序,但使用上下文是主活动

我尝试了getApplication和getApplicationContext,但不起作用

我也试着用旗帜来表示“最近的喜悦”,但它不起作用,这是一个半解决方案

recentAppIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
但这不是我需要的

因此,我的问题是“如何完成挂起的意图开始的主要活动”


提前感谢,Mostafa

您需要确保您的
main活动
RecentApps
不属于同一任务。“最近的应用”实际上并不显示最近的应用。它显示最近的任务

为确保您的
RecentApps
与您的
main活动不在同一任务中,您可以将以下内容添加到
RecentApps
清单中的
定义中:

aandroid:taskAffinity=""
另外,在创建通知时,将
标记活动\u新任务
添加到
意图
,如下所示:

Intent recentAppIntent = new Intent(getBaseContext(), RecentApps.class);
recentAppIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingrecentAppIntent = PendingIntent.getActivity(getBaseContext(), 1, recentAppIntent, 0);
notificationView.setOnClickPendingIntent(R.id.recentAppButt, pendingrecentAppIntent);

我认为
FLAG\u ACTIVITY\u CLEAR\u TOP
作为一个标志会有所帮助

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

此处提供了对意图标志的解释:

在调用
pendingent.getActivity()
new Intent()
时使用的
Context
与您的问题无关(换句话说,您使用的
Context
没有区别)。否则我不理解你的问题。你能更好地解释一下你想要发生什么以及实际发生了什么吗?谢谢你的回复,我想要什么:当打开我的应用程序的主要活动并使用主页按钮进入主屏幕,然后从我的自定义通知中单击“最近的应用程序”按钮时,我的应用程序应该包含在最近打开的应用程序中。实际发生:我的应用程序未包含在最近的应用程序中,主活动将继续,当最近的应用程序使用“后退”按钮消失时,主活动将出现。YeeeEsssss,它正常工作。非常感谢,我无法解释我的幸福。再次感谢。对不起,我不能投票赞成这个答案,因为我是新来的。