Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在didRangeBeaconsInRegion中使用测距

如何在didRangeBeaconsInRegion中使用测距
EN

Stack Overflow用户
提问于 2015-04-10 04:49:22
回答 1查看 4K关注 0票数 1

我仍然使用Davidgyoung的帖子和这些评论,现在我有了一个FatalException:

E/AndroidRuntime:致命异常: IntentServiceBeaconIntentProcessor进程: databerries.beaconapp,PID: databerries.beaconapp.MyApplicationName.didEnterRegion(MyApplicationName.java:76) at org.altbeacon.beacon.BeaconIntentProcessor.onHandleIntent(BeaconIntentProcessor.java:83) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java ):136)在android.os.HandlerThread.run(HandlerThread.java:61)

此错误是由于调用setRangeNotifier()而造成的?

-------EDIT--------

在发布了Davidgyoung的帖子和这些评论之后,我尝试了这种方法,但仍然没有用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyApplicationName extends Application implements BootstrapNotifier {
private static final String TAG = ".MyApplicationName";
private RegionBootstrap regionBootstrap;
private BeaconManager beaconManager;

List region_list = new ArrayList();

@Override
public void onCreate() {
    super.onCreate();
    Log.d(TAG, "App started up");
    // wake up the app when any beacon is seen (you can specify specific id filers in the parameters below)
    List region_list = myRegionList();
    regionBootstrap = new RegionBootstrap(this, region_list);

    BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
    beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
    beaconManager.setBackgroundScanPeriod(3000l);
    beaconManager.setBackgroundBetweenScanPeriod(5000l);
}

@Override
public void didDetermineStateForRegion(int arg0, Region arg1) {
    // Don't care
}

@Override
public void didEnterRegion(Region region) {
    Log.d(TAG, "Got a didEnterRegion call");
    // This call to disable will make it so the activity below only gets launched the first time a beacon is seen (until the next time the app is launched)
    // if you want the Activity to launch every single time beacons come into view, remove this call.
    regionBootstrap.disable();
    Intent intent = new Intent(this, MyActivity.class);
    // IMPORTANT: in the AndroidManifest.xml definition of this activity, you must set android:launchMode="singleInstance" or you will get two instances
    // created when a user launches the activity manually and it gets launched from here.
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    this.startActivity(intent);

    String zone = region.toString();
    Log.d(TAG, "Enter in region");
    String text = "Enter in " + zone;
    Log.d(TAG, text);
    String uuid = "UUID : " + region.getId1();
    Log.d(TAG, uuid);
    //This part is not working
    beaconManager.setRangeNotifier(this);
    beaconManager.startRangingBeaconsInRegion(region);
}

@Override
public void didExitRegion(Region arg0) {
    // Don't care
}

错误是关于setRangeNotifier中的输入和startRangingBeaconsInRegion的异常。

这不是我的主修课,我的主修课:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyActivity extends Activity{
public final static String EXTRA_MESSAGE = "com.example.myapp.MESSAGE";
/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Log.d("myActivity","onCreate");

}

}

我要区域内所有信标的in。如果我理解这种方法,当应用程序检测到一个区域时,它会在后台被唤醒,通常,"startRangingBeaconsInRegion“可以给我一个与此对应的信标列表,我可以获取Ids。

-------Original--------

我想知道我周围所有的灯塔。我知道这个信标的UUID,我可以通过'region.toString();‘获得它。但是,我需要其他信标的身份。而且,我在didRangeBeaconsInRegion上没有“灯塔”。

如何了解该地区的信标?

最后一个问题,有可能在后台说出来吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-10 06:24:56

您可以在这里的“测距示例代码”一节中看到对信标进行测距的示例:http://altbeacon.github.io/android-beacon-library/samples.html

这将允许您通过查看回调中的Beacon中返回的每个Collection<Beacon> beacons对象来读取所有标识符。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
            for (Beacon beacon: beacons) {
                Log.i(TAG, "This beacon has identifiers:"+beacon.getId1()+", "+beacon.getId2()+", "+beacon.getId3());        
            }
        }

一旦您开始测距,它将继续在后台这样做,前提是您不退出启动测距的活动。在库的某些用途下,范围在后台会减慢,但只有在使用BackgroundPowerSaver类时才会发生这种情况。如果您不希望在后台范围内减速,只需在库中不启用后台电源节省。

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

https://stackoverflow.com/questions/29561927

复制
相关文章
AngularJS Select(选择框)
在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例:
陈不成i
2021/07/23
2.5K0
在eclipse中没有server(需在选项中设置)
①在软件eclipse下的Help->InstallNew Software->中,在Work with中点击Add,如下,加入
全栈程序员站长
2022/07/25
4K0
在eclipse中没有server(需在选项中设置)
“我的‘换机焦虑’,选择太多等于没有选择”
为了换台新手机,我询问了周边12个90后的朋友们,真是不问不知道,一问吓一跳,12个朋友中,10个人用的都是iPhone,从8到13各种型号应有尽有。
用户2908108
2022/12/17
5740
“我的‘换机焦虑’,选择太多等于没有选择”
【错误记录】IntelliJ IDEA 中右键点击源码目录选择 New 选项 没有创建 Java Class 选项 ( 将对应的源码目录标记为 Sources 选项 )
右键点击源码根目录 , 在弹出的菜单中选择 " Open Module Settings " 选项 ,
韩曙亮
2023/03/30
2.3K0
【错误记录】IntelliJ IDEA 中右键点击源码目录选择 New 选项 没有创建 Java Class 选项 ( 将对应的源码目录标记为 Sources 选项 )
AngularJS ng-model 指令
ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值。
陈不成i
2021/07/23
1.1K0
SourceTree 推送没有分支选择
使用 SourceTree Checkout 了 远程分支,本地分支与远程分支名字不匹配,然后 push 的时候就没有分支选择。
晓晨
2020/05/29
1.4K0
轻松构建灵活的表单,试试AngularJS 选择框
在Web开发中,表单是一个非常重要的组件。表单通常包含各种输入字段,例如输入框、复选框和选择框等,用于收集用户的输入数据。AngularJS 提供了一系列的指令和服务,使得表单的开发更加简单、高效。本文将详细介绍 AngularJS 中的选择框(Select)指令,以及如何使用它来构建灵活的表单。
网络技术联盟站
2023/07/05
2120
AngularJS系列之select下拉选择第一个选项为空白的解决办法
今天给大家介绍一下AngularJS系列之select下拉选择第一个选项为空白的解决办法。 相信大家也经常遇到这种情况吧:在使用AngularJS中的select组件开发的时候,莫名其妙的第一个选项就
林老师带你学编程
2018/01/03
3.2K0
初次使用AngularJS中的ng-view,路由控制
AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面 第一步:引入必要的js: <script src="js/lib/angular.js"></script> <script src="js/lib/angular-animate.min.js"></script> <script src="js/lib/angular-route.min.js"></script> <script src="app.js"></script> 第二步:准备好一个单页: <body ng-a
Ryan-Miao
2018/03/13
1.6K0
AngularJS ng-model 指令
在前端开发中,表单是用户与网站互动的重要组成部分。为了实现表单数据的双向绑定,AngularJS 提供了 ng-model 指令。本文将详细介绍 ng-model 指令的用法和工作原理,并提供一些实例帮助读者更好地理解和应用该指令。
网络技术联盟站
2023/07/05
1880
AngularJs ng-route路由详解
本篇基于ng-route来讲下angular中的路由,路由功能主要是 $routeProvider服务 与 ng-view 实现。 ng-view的实现原理,是根据路由的切换,动态编译html模板——$compile(html)(scope)。 更多内容参考:Angularjs总结 前提 首先需要在页面引入angular和angular-route,注意要在angular-route之前引入angular <script src="../../bower_components/angular/an
用户1154259
2018/01/17
1.9K0
angularJS学习之路(九)---ng-if
ng-if  指令可以根据表示的结果   在DOM中生成或者移除一个元素   而且是完全移除  不是隐藏或者显示
wust小吴
2019/07/08
4680
人生中的选择
我曾经在微博出了一个选择题: 假设不能兼得,以下三位候选人你会跟谁结婚: A)Sex Partner(性伴侣,在一起激情四射) B)Business Partner(商业伙伴,前途钱财与名利无限) C
用户1756920
2018/06/20
1.3K0
eclipse里没有server选项怎么办(eclipse中没有server选项)
用eclipese写网页很多时候需要配置tomcat,但有些朋友跟着网上的教程配置发现eclipse->【Window】->【Preferences】里没有【server】从而配置不了Runtime Environment。所以需要通过eclipse进行安装。 下面给出解决办法 首先,获取你的eclipse的版本类型,点击【help】->【about eclipse IDE】
全栈程序员站长
2022/08/01
1.3K0
eclipse里没有server选项怎么办(eclipse中没有server选项)
eclipse设置中没有server选项[通俗易懂]
用eclipse准备配置tomcat,发现配置中没有server选项,参考各种解决方法之后成功解决。
全栈程序员站长
2022/08/01
6.5K1
eclipse设置中没有server选项[通俗易懂]
选择篇(017)-哪个选项是不正确的?
在JavaScript中,所有对象键都是字符串(除了Symbol)。尽管有时我们可能不会给定字符串类型,但它们总是被转换为字符串。
齐丶先丶森
2022/05/12
1.3K0
angularjs中常用的ng指令介绍【转载】
原文:http://www.cnblogs.com/lvdabao/p/3379659.html
用户3055976
2018/09/12
2K0
没有万能的结构和选择
从磁盘到CPU的寄存器的所有存储介质,都是从体积大、速度慢、价格便宜 到体积小、速度高价格更贵;
明明如月学长
2021/08/31
3110
没有万能的结构和选择
在seaborn中设置和选择颜色梯度
seaborn在matplotlib的基础上进行开发,当然也继承了matplotlib的颜色梯度设置, 同时也自定义了一系列独特的颜色梯度。在seaborn中,通过color_palette函数来设置颜色, 用法如下
生信修炼手册
2020/11/02
3.8K0
在seaborn中设置和选择颜色梯度
Hibernate 5 在保存数据的时候提示数据库没有选择
09:06:40.277 [http-nio-8080-exec-1] ERROR o.h.id.enhanced.TableStructure - could not read a hi value
HoneyMoose
2020/04/15
1.5K0
Hibernate 5 在保存数据的时候提示数据库没有选择

相似问题

AngularJS -ng-选项选择值

11

AngularJs选择ng-选项无效

23

在AngularJS中使用带有选项选择的ng选项

16

在angularJS中使用ng选项选择绑定

11

在angularjs中禁用带有ng选项的选择箱

49
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文