AltBeacon setRangeNotifier在不同的平板电脑设备上表现不同

时间:2017-03-31 07:12:30

标签: android bluetooth ibeacon-android altbeacon

我有两个平板电脑是Hewlett-Packard - HP Pro Slate 10 EE G1(版本5.0.2),另一个是TCL - 8079(版本5.0.1)。我正在使用ALTBeacon Library来扫描信标。< / p>

我已经将所有必要的代码绑定到beaconmanager和all.but这是我的setRangeNotifier方法。

   public class MyApplication extends Application implements BeaconConsumer {


private BackgroundPowerSaver backgroundPowerSaver;
private BeaconManager beaconManager;
private String TAG = "MyApplication";


@Override
public void onCreate() {
    super.onCreate();

    beaconManager = BeaconManager.getInstanceForApplication(this);

    backgroundPowerSaver = new BackgroundPowerSaver(this);


    // Add parser for iBeacons;
    beaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
    // Detect the Eddystone main identifier (UID) frame:
    beaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout("s:0-1=feaa,m:2-2=00,p:3-3:-41,i:4-13,i:14-19"));
    // Detect the Eddystone telemetry (TLM) frame:
    beaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout("x,s:0-1=feaa,m:2-2=20,d:3-3,d:4-5,d:6-7,d:8-11,d:12-15"));
    // Detect the Eddystone URL frame:
    beaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout("s:0-1=feaa,m:2-2=10,p:3-3:-41,i:4-20v"));
    // Detect the Eddystone URL frame:
    beaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout("m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));

    beaconManager.bind(this);


}

@Override
public void onBeaconServiceConnect() {
    Log.e(TAG, "Servcie Connected..");


    beaconManager.addRangeNotifier(new RangeNotifier() {
        @Override
        public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {

            Log.e(TAG, "Servcie Scanning..");

            if (beacons.size() > 0)

            {

            Log.d(TAG, "Collected beacons size: " + beacons.size());

            }


    });

    try {
        beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
    } catch (RemoteException e) {
    }
}

}

以下是我在Application Class中执行此扫描的代码。

代码在Hewlett-Packard上正常运行 - HP Pro Slate 10 EE G1 但它不适用于TCL Tablet.TCl连接信标服务但无法扫描设备。

设备蓝牙是否与扫描有关。 是我缺少的东西,因此它在两个设备上都不起作用。

同样的事情也像华硕平板电脑中的TCL一样。

它给了我错误

  

&#34;无法联系服务部门以设置扫描周期&#34;

0 个答案:

没有答案