java中alt 没反应_ALT信标测距功能无法正常工作

我正在尝试构建一个可以测量附近信标的Android应用程序,并获取相关信息,如UUID和距离信标的距离 . 我现在面临的问题是测距功能根本无法检测到单个信标 . 我很确定该功能是正确的,因为我已经下载了另一个类似的演示项目,可以在同一台设备上很好地扫描信标 .

在beaconManager.startRangingBeaconsInRegion(新的Region(“myRangingUniqueId”,null,null,null))函数之后,应用程序现在完全没有反应,并且调试器显示在didRangeBeaconsInRegion函数中停留的线程,并且信标大小始终为0 .

我的代码有问题吗?或者是因为我的设置或配置不正确?

码:

package com.example.ma.contextualawarenessapplication;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.app.Activity;

import android.os.RemoteException;

import android.widget.TextView;

import org.altbeacon.beacon.Beacon;

import org.altbeacon.beacon.BeaconConsumer;

import org.altbeacon.beacon.BeaconManager;

import org.altbeacon.beacon.BeaconParser;

import org.altbeacon.beacon.RangeNotifier;

import org.altbeacon.beacon.Region;

import java.text.SimpleDateFormat;

import java.util.Collection;

import java.util.Date;

import java.util.Locale;

public class GeofencingActivity extends AppCompatActivity implements BeaconConsumer {

protected static final String TAG = "GeofencingActivity";

private BeaconManager beaconManager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_geofencing);

beaconManager = BeaconManager.getInstanceForApplication(this);

beaconManager.bind(this);

}

@Override

protected void onDestroy() {

super.onDestroy();

beaconManager.unbind(this);

}

@Override

protected void onPause() {

super.onPause();

if (beaconManager.isBound(this)) beaconManager.setBackgroundMode(true);

}

@Override

protected void onResume() {

super.onResume();

if (beaconManager.isBound(this)) beaconManager.setBackgroundMode(false);

}

@Override

public void onBeaconServiceConnect() {

beaconManager.setRangeNotifier(new RangeNotifier() {

@Override

public void didRangeBeaconsInRegion(Collection beacons, Region region) {

for (Beacon beacon : beacons) {

logToDisplay(getCurrentTimeStamp() + " | Beacon " + beacon.toString() + " is about " + beacon.getDistance() + " meters away.");

}

/*if (beacons.size() > 0) {

EditText editText = (EditText)GeofencingActivity.this

.findViewById(R.id.geofencingText);

Beacon firstBeacon = beacons.iterator().next();

logToDisplay("The first beacon "+firstBeacon.toString()+" is about "+firstBeacon.getDistance()+" meters away."); }

*/}

});

try {

beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));

} catch (RemoteException e) { }

}

private void logToDisplay(final String line) {

runOnUiThread(new Runnable() {

public void run() {

TextView editText = (TextView)GeofencingActivity.this

.findViewById(R.id.geofencingText);

editText.append(line+"\n");

}

});

}

private static String getCurrentTimeStamp() {

Locale locale = new Locale("es", "ES");

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS", locale);

Date now = new Date();

return sdf.format(now);

}

}

的build.gradle:

apply plugin: 'com.android.application'

android {

compileSdkVersion 23

buildToolsVersion "23.0.2"

defaultConfig {

applicationId "com.example.ma.contextualawarenessapplication"

minSdkVersion 18

targetSdkVersion 23

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'

compile 'com.android.support:appcompat-v7:23.1.1'

compile 'org.altbeacon:android-beacon-library:2+@aar'

}

buildscript {

repositories {

jcenter()

mavenCentral()

flatDir {

dirs 'libs'

}

}

dependencies {

classpath 'com.android.tools.build:gradle:2.1.0-alpha5'

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值