如何通过下拉菜单中的通知将活动带到前面?

时间:2016-01-01 23:37:53

标签: android android-intent notifications android-notifications

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

用例如下:

  • 如果应用程序的活动被杀,则点击通知图标时,活动就会被创建并带到前台。
  • 如果应用程序的活动不可见,点击通知图标时,活动就会被带到前台。

为了重新创建/将活动带到前台我在前台服务中使用以下广播接收器:

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手机上的默认音乐播放器非常相似,即:当点击图标时,它的活动只会被带到前台(或重新创建并带到前台,以防万一)以前被杀了)

这是三星S4的截图

Teh screenshot

  • 第一次通知来自usb - 我们不关心它
  • 第二个通知是我的应用程序 - 点击活动创建但未带到前台的图标(用户必须向后滑动菜单以查看活动)

如果没有额外的后退菜单,我怎么能把它带到前面?(与音乐播放器应用程序的工作方式类似?

PS:最低Android SDK版本为16

1 个答案:

答案 0 :(得分:1)

据我所知,没有可能将您的活动带到通知菜单前面。但您可以通过以下方式自动关闭菜单:

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