Android 完成启动挂起意图的活动
在我的应用程序中,我创建了一个自定义通知,其中包含一个显示最近应用程序的按钮(而不是长按home按钮) 当用户打开主活动并按home按钮转到主屏幕时,拖动通知抽屉并单击按钮: 预期结果是显示最近的应用程序,主要活动是最近的应用程序之一 实际结果是显示最近的应用程序,但主要活动不在其中,并且主要活动继续 我的代码启动“RecentApps(是一个显示最近应用的虚拟类)”类,并具有挂起的意图Android 完成启动挂起意图的活动,android,android-intent,android-pendingintent,activity-finish,Android,Android Intent,Android Pendingintent,Activity Finish,在我的应用程序中,我创建了一个自定义通知,其中包含一个显示最近应用程序的按钮(而不是长按home按钮) 当用户打开主活动并按home按钮转到主屏幕时,拖动通知抽屉并单击按钮: 预期结果是显示最近的应用程序,主要活动是最近的应用程序之一 实际结果是显示最近的应用程序,但主要活动不在其中,并且主要活动继续 我的代码启动“RecentApps(是一个显示最近应用的虚拟类)”类,并具有挂起的意图 Intent recentAppIntent = new Intent(getBaseContext
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,它正常工作。非常感谢,我无法解释我的幸福。再次感谢。对不起,我不能投票赞成这个答案,因为我是新来的。