如何将 activity 从下拉菜单中的通知置于最前面?

How to bring activity to front from notification in drag down menu?

我正在使用一个使用通知(带有前台服务)的应用程序。

用例如下:

对于re-creating/bringing前台的activity,我在前台服务中使用了以下广播接收器:

private static class MyBroadcastReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent intent = new Intent(context,MainActivity.class)
            .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
            .setAction("android.intent.action.MAIN")
            .addCategory("android.intent.category.LAUNCHER");
        context.startActivity(sIntent);
    }
}

所需的操作与 android phone 上的默认音乐播放器非常相似,即:单击图标时,activity 会简单地置于前台(或重新创建并置于前台以防它之前被杀死)

这是三星 S4 的屏幕截图

如何在不使用额外的向后滑动菜单的情况下将其置于最前面?(与音乐播放器应用程序的方式类似?

PS: 最低Android SDK版本为16

据我所知,不可能将您的 activity 放在通知菜单前面。但是您可以使用以下命令自动关闭菜单:

Intent i = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); 
context.sendBroadcast(i);