2017-07-02 124 views
0

如果我刷新通知后得到附近通知,为了再次获得相同的通知,我需要强制手机再次扫描信标。关闭蓝牙并再次打开它可以工作吗?此蓝牙OFF-ON是否可以启动信标扫描?附近的通知和打开蓝牙关闭

它似乎工作。但这种行为很难理解和预测。在再次开启蓝牙后,有时手机会在几分钟内检测到所有的信标,并显示所有通知,有时手机只能检测到一个信标,有时手机不会再显示任何附近的通知。

打开蓝牙关闭如何影响扫描信标? 谢谢。

回答

0

不幸的是,附近依靠专有Google Play服务中的封闭源代码。与类似的iOS API类似,但与开放源代码Android API不同,具体的实现没有很好的文档记录,Google随时可能会对其进行更改。尽管关闭和开启蓝牙功能现在可能已经开始工作,但它可能无法在随时可能发布的不同版本的Google Play服务中使用。

如果你想进行反向工程在附近时没有蓝牙扫描,你可以看看logcat的系统消息,看看当你得到的消息开始是这样的:

07-02 14:03:17.894 30720-30736/? D/BtGatt.GattService

这显示蓝牙扫描活动。

可能引发蓝牙扫描可能的事件有:

  • 蓝牙开/关
  • 计划定时器/关
  • 屏幕

但是记住的是,无论你从发现此调查可能随下一版Google Play服务发生变化。

+0

尽管还有其他触发器,但可能的触发器列表或多或少都是准确的。我们试图平衡通知的可见性与电池消耗以及其他因素。 –

0

我们通常会将滑开作为通知中临时不感兴趣的指示来解释,因此存在一些退避行为,可能会阻止信号通过垃圾邮件向用户发送不需要的通知。

它可以帮助我们了解您想要实现的目标,并且我们可以建议其他方法。例如,Notifications有一个开发者模式,它可以改变我们在调试或试用时显示通知的方式。

+0

非常感谢Brain回复。你可以分享更多的信息abt所有可能的信标扫描触发器?我有一个非常简单的用例。我正在开发一个pwa,所以一旦最终用户访问它,推送进一步的通知应该不成问题。但要引导用户访问我的Pwa,我需要依靠Nearby通知。如何确保最终用户每次都收到附近通知,而无需多少人工操作。主要挑战是通知的看似不可预测性和最低优先级。有时需要一些努力和时间来获得通知。 – user7892337

+0

对不起,我们对垃圾邮件的可能性也很敏感,尽管您可能会想到这一点,但对于您的用例来说,在用户解散它之后总是会弹出通知,这对您来说会非常恼火一般用户如果通知是促销性质的话。总是看到附近项目的最可靠的方法是访问Nearby UI(列表视图)。任何附近的物品都会在这里出现。 –

+0

只是为了增加这一点 - 只要您在上次看到它时没有关闭屏幕,就可以在打开屏幕后可靠地显示通知。如果你看到不同的东西,让我们知道,我们可以深入挖掘这一点。 –