锁定屏幕通知在被点击时自动释放锁定

Lock screen notification automatically releases lock when it is tapped

我正在尝试制作锁定屏幕通知,要求用户在单击时释放锁定。 使用 NotificationCompat.builder 的通知可以很好地处理密码、图案和密码的锁定屏幕。但是当锁定屏幕设置为拖动时,点击通知会自动解除设备锁定并立即执行工作,而不是要求用户拖动以解除锁定。 我的代码如下所示

mNotificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new Notification.Builder(mContext).setSmallIcon(R.drawable.indicator_icon);
Notification noti = mBuilder.build();
mNotificationManager.notify(NOTIFICATION_ID, noti);  

我试过贬值 API Noficiation() 如下所示

Notification notification = new Notification();
notification.icon = R.drawable.indicator_icon; 
mNotificationManager.notify(NOTIFICATION_ID, noti);

这很好用! (它要求拖动链接到我的应用程序,即使通过简单拖动锁定屏幕)

所以我猜上面的两个代码之间是有区别的。我无法使用通知,因为我需要设置远程视图。

问题是第一个代码在某些设备(如 Galaxy S5)上也能正常工作,但在其他设备(如 Galaxy Note 4)上效果不佳。在 Galaxy S5 上,它不会自行释放锁定,但会稍微 UI 当我点击通知时会有所不同。(例如不显示时钟或其他通知)

有人可以给我一些建议吗?

我解决了!问题是在远程视图而不是构建器本身上设置未决意图。两者都有效,但它们在各种设备的不同设置中表现不同。我想在构建器本身而不是 remoteview 上设置 pendingIntents 更安全...