首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >altBeacon: didEnterRegion

altBeacon: didEnterRegion
EN

Stack Overflow用户
提问于 2021-09-28 06:06:21
回答 1查看 63关注 0票数 2

我正在编写一个使用AltBeacon的Android-Beacon-Library的Android应用自定义类。但是在第一次启动时,如果我在信标区域,didEnterRegion()将无法工作。我想立即创建一个事件。我找不到任何其他的解决方案。感谢您的帮助!这是我的代码

代码语言:javascript
复制
beaconManager.addMonitorNotifier(new MonitorNotifier() {
            @Override
            public void didEnterRegion(Region region) {
                //Log.i(TAG, "I just saw an beacon for the first time!");
                sendData(dataStart);
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        tv_beacon_.setText("work");
                    }
                });
            }

            @Override
            public void didExitRegion(Region region) {
                //Log.i(TAG, "I no longer see an beacon");
                sendData(dataEnd);
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        tv_beacon_.setText("not work");
                    }
                });
            }

            @Override
            public void didDetermineStateForRegion(int state, Region region) {
                Log.i(TAG, "I have just switched from seeing/not seeing beacons: "+state);

            }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-29 08:54:01

这是意料之中的行为,因为只有当您不在该区域时,才会触发didEnterRegion回调。你可以在这里了解更多信息:https://altbeacon.github.io/android-beacon-library/detection-trouble.html

你能做的就是调用

代码语言:javascript
复制
beaconManager.setRegionStatePeristenceEnabled(false)

这将使didEnterRegion回调在应用程序重新启动后触发,即使手机已经在信标区域中。

如果你这样做,请记住,当后台的应用程序被Android操作系统临时终止时,回调可能会多次触发。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69356562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档