gpt4 book ai didi

Android 通知 setFullScreenIntent 不会自动启动 Activity

转载 作者:行者123 更新时间:2023-12-04 09:17:08 30 4
gpt4 key购买 nike

我想从通知中自动启动全屏 Activity ,但我在使用 setFullScreenIntent 时遇到了问题。我跟着这个:https://developer.android.com/training/notify-user/time-sensitive和互联网上的线程,但它对我不起作用。
我的通知出现了,但我必须按下它才能启动 Activity 。

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationManager notificationManager = this.getSystemService(NotificationManager.class);

if (notificationManager != null && notificationManager.getNotificationChannel(NOTIFICATION_CHANNEL_ID) == null) {
NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "channel_name", NotificationManager.IMPORTANCE_HIGH);
channel.setDescription("channel_description");
notificationManager.createNotificationChannel(channel);
}
}

Intent fullScreenIntent = new Intent(this, ResultActivity.class);
fullScreenIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0,
fullScreenIntent, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("Full Screen Notification")
.setContentText("Notification test text")
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setCategory(NotificationCompat.CATEGORY_CALL)
.setDefaults(NotificationCompat.DEFAULT_ALL)
.setFullScreenIntent(fullScreenPendingIntent, true);

NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(12345, notificationBuilder.build());

这是我的 list :
  <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<activity
android:name=".ResultActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" /> -->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

谢谢 !

最佳答案

我猜当你锁定手机时,全屏 Intent 显示正确,对吗?
您所看到的称为 heads-up notifications .正如文档中所述,这是高重要性通知的正常行为,它们会在设备解锁时出现。
你该怎么办?
保持锁定屏幕的全屏 Intent ,但也为您的通知提供自定义布局,这将在更好的上下文 UI 中展示您的功能,而不是默认通知。

示例:
警报应用程序(在 Pixel 手机上)具有以下触发警报的情况:

  • 屏幕解锁时启动提醒通知
  • 屏幕锁定时的全屏 Intent 。
  • 关于Android 通知 setFullScreenIntent 不会自动启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63169039/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com