当应用程序在后台时,可以在推送通知中执行操作

时间:2018-08-16 12:35:52

标签: android notifications

当应用程序在后台运行时,如何在推送通知中执行操作?我在Android Oreo中使用此功能时,后台运行应用程序时会遇到一些问题。

1 个答案:

答案 0 :(得分:0)

我正在后台服务中使用它。我已经在模拟器中进行了测试,但没有在真实设备中进行过测试。检查这是否对您有用。

NotificationCompat.Builder builder = ...;
    Intent intent = new Intent(context, YourActivity.class);
    intent.putExtra(you can put extras);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent,
            0);
    builder.setContentIntent(contentIntent);

此外,如果您想显示一个活动,则在设备锁定时,将其放在活动onCreate()中,这应该可以工作。一件事,当这不起作用时,是显示来电/去电屏幕

super.onCreate(savedInstanceState);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    setContentView(...);