GeotriggerHandlerReceiver 在 PlotProjects 中已弃用。有啥替代方法可以使用?

Posted

技术标签:

【中文标题】GeotriggerHandlerReceiver 在 PlotProjects 中已弃用。有啥替代方法可以使用?【英文标题】:GeotriggerHandlerReceiver is deprecated in PlotProjects. What is the alternative to use?GeotriggerHandlerReceiver 在 PlotProjects 中已弃用。有什么替代方法可以使用? 【发布时间】:2017-11-16 16:46:28 【问题描述】:

我在 Plot Project 的文档中看到应该使用 GeotriggerHandlerReceiver,但是根据 android Studio 的版本 com.plotprojects:plot-android:2.4.0-beta 这个接收器已经被弃用了。

Image from Android Studio

3.5 地理触发器处理程序 当您想要处理您的地理触发器,或将它们用作您自己代码的触发事件时,您可以使用地理触发器处理程序。 Plot 会自动检测是否在从 GeotriggerHandlerReceiver 类扩展的 AndroidManifest.xml 中注册了服务。 GeotriggerHandlerReceiver 的实现必须实现方法 public List handleGeotriggers(List geotriggers)。定义服务后,Plot 会将地理触发器发送到此方法,然后再将其视为已处理。这允许您添加通过进入(或退出)地理围栏或信标区域触发的自定义代码。

//Example implementation for handleGeotriggers:
public class MyGeotriggerHandlerReceiver extends GeotriggerHandlerReceiver 
    @Override
    public List<Geotrigger> handleGeotriggers(List<Geotrigger> geotriggers) 
        List<Geotrigger> passedGeotriggers = new ArrayList<Geotrigger>();
            for (Geotrigger geotrigger : geotriggers) 
                String data = geotrigger.getData();
                if (data.equals("pass")) 
                    passedGeotriggers.add(geotrigger);
            
        
        return passedGeotriggers;
    

【问题讨论】:

【参考方案1】:

确实,我们正在弃用 GeotriggerHandlerReceiver,并将在下一个版本中将其删除。为了使您的代码保持最新,请遵循此guide。该指南解释了为什么以及如何做到这一点。

我们正在更新我们的文档以使其更有条理和完整。

干杯!

【讨论】:

以上是关于GeotriggerHandlerReceiver 在 PlotProjects 中已弃用。有啥替代方法可以使用?的主要内容,如果未能解决你的问题,请参考以下文章