当应用程序在后台运行时,如何在推送通知中执行操作?我在Android Oreo中使用此功能时,后台运行应用程序时会遇到一些问题。
答案 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(...);