- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试创建一个 android 应用程序来使用 Gimbal sdk 检测基于 Gimbal 的信标,但我的应用程序无法检测到信标。但是如果我尝试使用 BluetoothGATT,我可以检测到信标。以下是我的代码中监听信标事件的部分。 API key 验证成功,但仍然无法显示接近度。
public class MainActivity extends Activity {
private PlaceManager placeManager;
private PlaceEventListener placeEventListener;
private BeaconEventListener beaconEventListener;
private BeaconManager beaconManager;
private String TAG = "beacon";
public ArrayAdapter<String> listAdapter;
public ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
Gimbal.setApiKey(getApplication(),
"MY API KEY ");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
monitorPlace();
listenBeacon();
CommunicationManager.getInstance().startReceivingCommunications();
}
private void listenBeacon() {
BeaconEventListener beaconEventListener = getBeaconEventListener();
BeaconManager beaconManager = new BeaconManager();
beaconManager.addListener(beaconEventListener);
beaconManager.startListening();
}
private void monitorPlace() {
placeEventListener = getPlaceEventListener();
// placeManager = PlaceManager.getInstance();
// placeManager.addListener(placeEventListener);
placeManager = PlaceManager.getInstance();
placeManager.addListener(placeEventListener);
placeManager.startMonitoring();
}
private void initView() {
GimbalLogConfig.enableUncaughtExceptionLogging();
listAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1);
listView = (ListView) findViewById(R.id.list);
listView.setAdapter(listAdapter);
listAdapter.add(" Gimbal API Key got Set Successfuly");
listAdapter.notifyDataSetChanged();
GimbalDebugger.enableBeaconSightingsLogging();
}
private BeaconEventListener getBeaconEventListener() {
Log.i(TAG, "BeaconEventListener started sucessfully...");
BeaconEventListener beaconSightingListener = new BeaconEventListener() {
@Override
public void onBeaconSighting(BeaconSighting beaconSighting) {
super.onBeaconSighting(beaconSighting);
listAdapter.add(String.format("Name of Beacon is %s",
beaconSighting.getBeacon().getName()));
listAdapter.add(String.format("UUID is %s", beaconSighting
.getBeacon().getUuid()));
listAdapter.add(String.format("RSSI is %s",
beaconSighting.getRSSI()));
listAdapter.add(String.format("Battery Level is %s",
beaconSighting.getBeacon().getBatteryLevel()));
listAdapter.add(String.format("Temprature data is %s",
beaconSighting.getBeacon().getTemperature()));
}
};
}
private PlaceEventListener getPlaceEventListener() {
PlaceEventListener obj = new PlaceEventListener() {
@Override
public void onBeaconSighting(BeaconSighting sight, List<Visit> visit) {
super.onBeaconSighting(sight, visit);
listAdapter.add(String.format("Beacon Found: %s",
sight.getBeacon()));
listAdapter.add(String.format("Name of Beacon is %s", sight
.getBeacon().getName()));
listAdapter.add(String.format("Identifier is %s", sight
.getBeacon().getIdentifier()));
listAdapter.add(String.format("RSSI is %s", sight.getRSSI()));
listAdapter.add(String.format("UUID is %s", sight.getBeacon()
.getUuid()));
listAdapter.add(String.format("Temprature is%s", sight
.getBeacon().getTemperature()));
listAdapter.add(String.format("BatteryLevel is %s", sight
.getBeacon().getBatteryLevel()));
listAdapter.add(String.format("Icon URL is %s", sight
.getBeacon().getIconURL()));
listAdapter.add(String.format("Start Visit for %s", visit
.iterator().toString()));
}
// @Override
public void onVisitStart(Visit visit) {
super.onVisitStart(visit);
listAdapter.add(String.format("Start Visit for %s", visit
.getPlace().getName()));
Toast.makeText(getApplicationContext(),
visit.getPlace().getName(), Toast.LENGTH_SHORT).show();
listAdapter.notifyDataSetChanged();
}
@Override
public void onVisitEnd(Visit visit) {
// TODO Auto-generated method stub
super.onVisitEnd(visit);
listAdapter.add(String.format("End Visit for %s", visit
.getPlace().getName()));
listAdapter.notifyDataSetChanged();
}
};
return obj;
}
}
最佳答案
在 Gimbal 管理器中添加信标详细信息确实解决了问题。从 Gimbal 团队得到了下面这行
It is mandatory to add the beacons in Gimbal Manager for detecting beacons
关于android - 使用 Gimbal sdk 编程我的 android 应用程序未检测到 gimbal beacon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32441741/
我正在尝试创建一个 android 应用程序来使用 Gimbal sdk 检测基于 Gimbal 的信标,但我的应用程序无法检测到信标。但是如果我尝试使用 BluetoothGATT,我可以检测到信标
我正在使用 Gimbal我的 Android 应用程序中用于地理围栏功能的 SDK。他们提供的示例代码让我感到惊讶。示例代码如下包 com.gimbal.hello_gimbal_android; i
我正在尝试确定“发现”带有标准 iOS 库的 Gimbal 信标。根据 Radius Networks 和 Blue Sense Networks - Gimbal 信标不广播标准 iBeacon 格
有没有办法在没有 iPhone 的情况下配置物理云台信标? 在这些 instruction ,它说您需要使用 iPhone 应用程序。 Android,PC等还有其他方法吗? 最佳答案 要将自定义配置
我希望 Android 信标库的 2.0 版本能够正确检测旧式 Estimote 信标(不支持 iBeacon 技术的 2013 年之前的型号)和 Gimbal 信标。我知道 Gimbal 信标具有加
我正在研究 3D CSS,但我无法解决这种不一致问题。 绕 Y 轴旋转后,使“正面”面向场景的右脸,“左”脸旋转到位成为场景正面,绕 X 轴或 Z 轴旋转旋转围绕 Z 轴的立方体。为什么会这样? 重现
根据 Gimbal 开发文档,我已按照 APNS 支持的所有必要步骤进行操作。 Done with creating App Id, APNS Certificate, Provision Profi
我有一个 IMU 传感器,可以根据四元数为我提供方向,我想将其更改为可读的 RPY 角度。 我从 Wiki 找到了本质上转换它们的公式 对于四元数 q= qr+qi+qj+qk roll=atan2(
我正在使用以 iBeacon 模式配置的 Gimbal 系列 10 设备,使用其中一个 AirLocate UUID(第一个 - E2C56DB5-DFFB-48D2-B060-D0F5A71096E
我一直在使用 Estimote iBeacons 和他们的 Android SDK。但是,我仍然对为什么有这么多可用的 SDK 感到困惑。 iBeacon 只是标准的蓝牙设备,具有蓝牙 4.0 规范的
我是一名优秀的程序员,十分优秀!