当前位置: 首页 > 知识库问答 >
问题:

如何在通知单击时恢复以前的活动操作

汪辰阳
2023-03-14

我有一个活动正在执行一些下载功能。该活动将弹出一个进度对话框,在下载时禁用用户交互,并创建一个通知进度。

private static void buildNotification()
{
    //create intent  for onClick
    Intent resultIntent = new Intent(activity,  activity.GetType());
    resultIntent.SetAction(Intent.ActionMain);
    resultIntent.AddCategory(Intent.CategoryLauncher);
    PendingIntent resultPendingIntent = PendingIntent.GetActivity(activity, 0, resultIntent, PendingIntentFlags.UpdateCurrent);

    //set builder

    builder.SetContentIntent(resultPendingIntent);
    notificationManager = activity.GetSystemService(Context.NotificationService) as NotificationManager;
}

设置意向标志

private static void buildNotification()
{
    //create intent  for onClick
    Intent resultIntent = new Intent(activity,  activity.GetType());
    resultIntent.SetFlags(ActivityFlags.SingleTop | ActivityFlags.ClearTop);
    PendingIntent resultPendingIntent = PendingIntent.GetActivity(activity, 0, resultIntent, PendingIntentFlags.UpdateCurrent);

    //set builder

    builder.SetContentIntent(resultPendingIntent);
    notificationManager = activity.GetSystemService(Context.NotificationService) as NotificationManager;
}

共有1个答案

公西运良
2023-03-14

最后我只在意图上添加singletop标志。希望这对某人有帮助:

private static void buildNotification()
{
        //create intent  for onClick
    Intent resultIntent = new Intent(activity, activity.GetType());
    resultIntent.SetFlags(ActivityFlags.SingleTop);
    PendingIntent resultPendingIntent = PendingIntent.GetActivity(activity, 0, resultIntent, PendingIntentFlags.UpdateCurrent);

    //set builder

    builder.SetContentIntent(resultPendingIntent);
    notificationManager = activity.GetSystemService(Context.NotificationService) as NotificationManager;
}

顺便说一下,我使用的是Xamarin.Android

 类似资料:
  • 我已经尝试了所有的方法,但它不适合我。我想打开或恢复应用程序,无论屏幕打开,同时单击通知。 我使用了以下方法:

  • 问题内容: 我试图将我在教程中找到的一些代码转换为自己使用。最初,当用户单击我的应用程序生成的通知时,该代码启动了系统联系人列表。我正在尝试自己启动一个,而不是启动联系人列表,但是它不起作用。更具体地说,什么也没有发生。没有错误,我也不会加载。单击后,通知窗口消失,原始窗口仍然可见。 这是我的代码: 这是我在文件中的条目… 这是我要启动的… 问题答案: 我解决了这个问题。我忘记在清单文件的活动声明

  • 问题内容: 我在应用程序的状态栏中有一条通知: 这样做的问题是,当您从应用程序中按下主页按钮(将其推到后台)然后在从状态栏访问的列表中的通知上按下时,它将启动活动的新副本。我要做的就是恢复应用程序(例如,长按主屏幕按钮并按应用程序图标上的)。有没有一种创建意图的方法? 问题答案: 我已通过将我的活动更改为androidManifest.xml文件来解决了此问题。 此属性的默认值为,它允许运行任意数

  • 我有一个问题,恢复活动的通知点击。我有一个应用程序可以播放一首歌一段时间。这个想法是,当你播放一首歌,并按下Home键时,应该会有一个通知,让你返回到可以停止这首歌的应用程序。 以下是我发出通知的方式: 这是我的舱单:

  • firebase工作得很好,在状态栏上推送通知,但我的挑战是当通知被点击时,我希望它带我到我的自定义活动而不是默认的启动器,我该怎么做呢? 这是我想在通知计时时打开的自定义活动。通知来自Firebase cloud Messaging。 } 这是侦听来自FireBase的通知的服务。

  • 我有一个带有通知的应用程序,如果我单击它们,就会打开某个活动。我想要的是,如果我点击通知,活动已经打开,它不是重新开始,但只是出现在前面。 我可以用标志来管理它吗?还是我应该在SharedPreferences中存储一个变量来检查它是否已打开? 谢谢!