estimote / android-fleet-management-sdk Goto Github PK
View Code? Open in Web Editor NEWEstimote Fleet Management SDK for Android
Home Page: https://developer.estimote.com
License: MIT License
Estimote Fleet Management SDK for Android
Home Page: https://developer.estimote.com
License: MIT License
Hi,
I've written a small android app to edit the proximity uuid of a beacon. When I tried to write it using this code to "12345":
connection.writeProximityUuid(uuid, new BeaconConnection.WriteCallback() {
I first got an error that the uuid must have an even number of characters - so I changed this to 123456 - unfortunately the onSuccess callback was never invoked - I can now no longer find the beacon - even if I set the region to "123456" - I get an error that it must be 32 characters.
This needs to be documented: What are valid values for the uuid? There should also be a validation error when the uuid provided is not valid.
java.lang.NullPointerException
at com.estimote.sdk.BeaconService$RestartingTask.run(BeaconService.java:217)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)
Hi there
setting either:
setBackgroundScanPeriod
setForegroundScanPeriod
doesnt seem to have any effect?
Can anyone advise?
I have latest Eclipse (v22.6.2), and also downloaded this Estimote latest Android API.
I added the lib estimote-sdk-preview.jar in the build library path.
And also I double checked that
and
are all in AndroidManifest.xml file.
But I have trouble to run the demos (AllDemosActivity) from Eclipse on my latest Google Nexus 7 (Android v4.4.2).
It shows this error “Unfortunately, Estimote Demos has stopped.”
Please advise what I had missed?
Thanks,
Eric Lu
I can't use english well, so I ask simply. sorry.
if i touch 'distance Demo', 'notify demo', 'change beacon's minor demo'
then phone say “Unfortunately, Estimote Demos has stopped.” .
what can I do ?
this is my logcat
04-30 09:23:37.335: D/AndroidRuntime(7317): Shutting down VM
04-30 09:23:37.335: W/dalvikvm(7317): threadid=1: thread exiting with uncaught exception (group=0x4233b700)
04-30 09:23:37.340: E/AndroidRuntime(7317): FATAL EXCEPTION: main
04-30 09:23:37.340: E/AndroidRuntime(7317): java.lang.NoClassDefFoundError: com.estimote.sdk.Region
04-30 09:23:37.340: E/AndroidRuntime(7317): at com.estimote.examples.demos.ListBeaconsActivity.(ListBeaconsActivity.java:37)
04-30 09:23:37.340: E/AndroidRuntime(7317): at java.lang.Class.newInstanceImpl(Native Method)
04-30 09:23:37.340: E/AndroidRuntime(7317): at java.lang.Class.newInstance(Class.java:1130)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2220)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.app.ActivityThread.access$700(ActivityThread.java:165)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.os.Handler.dispatchMessage(Handler.java:99)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.os.Looper.loop(Looper.java:176)
04-30 09:23:37.340: E/AndroidRuntime(7317): at android.app.ActivityThread.main(ActivityThread.java:5455)
04-30 09:23:37.340: E/AndroidRuntime(7317): at java.lang.reflect.Method.invokeNative(Native Method)
04-30 09:23:37.340: E/AndroidRuntime(7317): at java.lang.reflect.Method.invoke(Method.java:525)
04-30 09:23:37.340: E/AndroidRuntime(7317): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
04-30 09:23:37.340: E/AndroidRuntime(7317): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
04-30 09:23:37.340: E/AndroidRuntime(7317): at dalvik.system.NativeStart.main(Native Method)
04-30 09:28:37.395: I/Process(7317): Sending signal. PID: 7317 SIG: 9
04-30 09:36:08.630: D/libEGL(7475): loaded /system/lib/egl/libEGL_mali.so
04-30 09:36:08.630: D/libEGL(7475): loaded /system/lib/egl/libGLESv1_CM_mali.so
04-30 09:36:08.635: D/libEGL(7475): loaded /system/lib/egl/libGLESv2_mali.so
04-30 09:36:08.635: E/(7475): Device driver API match
04-30 09:36:08.635: E/(7475): Device driver API version: 23
04-30 09:36:08.635: E/(7475): User space API version: 23
04-30 09:36:08.635: E/(7475): mali: REVISION=Linux-r3p2-01rel3 BUILD_DATE=Fri Nov 29 14:18:37 KST 2013
04-30 09:36:08.700: D/OpenGLRenderer(7475): Enabling debug mode 0
Seeing a lot of this:
java.lang.NoClassDefFoundError: com.estimote.sdk.service.BeaconService$InternalLeScanCallback
at com.estimote.sdk.service.BeaconService.(BeaconService.java:122)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2395)
at android.app.ActivityThread.access$1700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1323)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4950)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
at dalvik.system.NativeStart.main(Native Method)
Modern builds fetch dependencies from a central repo instead of adding jars to the lib folder.
More info on deploying to central here:
http://central.sonatype.org/pages/ossrh-guide.html
Hi,
I want to know which Bluetooth LE profile you used for the UUID,characterisitcs and services.
Like for example Heart Rate Profile, Proximity Profile, or the Time Profile.
Hello,
I'm working on company POC project using the beacons.
I'm trying to understand what region represents. Does it represent the region of mobile phone or the beacon?
From the demo code "NotifyDemoActivity" it seems to me that a mobile device can only monitor one beacon at a time? How to monitor all the beacons within my phone area?
Where is the beacon list sorted?
Does this happen at the kernel/device level or in BeaconManager or somewhere else?
Is there an easy setting/value we can change so that the beacons are sorted by UUID instead of distance?
Hi,
is it possible to use the estimote Android SDK in a phonegap app? Is there an example existing for this?
Thanks
Our application runs in a remote service.
Android Manifest File:
<service
android:name="..."
android:process=":remote" >
<intent-filter>
<action android:name="..." />
</intent-filter>
</service>
I first added the BeaconService like this
<service android:name="com.estimote.sdk.service.BeaconService"
android:exported="false"/>
But then I got the following error
02-19 12:42:19.923: E/dalvikvm(14751): Could not find class 'android.bluetooth.BluetoothManager', referenced from method com.estimote.sdk.BeaconManager.isBluetoothEnabled
02-19 12:42:19.983: E/dalvikvm(14751): Could not find class 'com.estimote.sdk.service.BeaconService$InternalLeScanCallback', referenced from method com.estimote.sdk.service.BeaconService.<init>
02-19 12:42:20.033: E/dalvikvm(14751): Could not find class 'android.bluetooth.BluetoothManager', referenced from method com.estimote.sdk.service.BeaconService.onCreate
02-19 12:42:20.038: E/AndroidRuntime(14751): FATAL EXCEPTION: main
02-19 12:42:20.038: E/AndroidRuntime(14751): java.lang.NoClassDefFoundError: com.estimote.sdk.service.BeaconService$InternalLeScanCallback
02-19 12:42:20.038: E/AndroidRuntime(14751): at com.estimote.sdk.service.BeaconService.<init>(BeaconService.java:121)
02-19 12:42:20.038: E/AndroidRuntime(14751): at java.lang.Class.newInstanceImpl(Native Method)
02-19 12:42:20.038: E/AndroidRuntime(14751): at java.lang.Class.newInstance(Class.java:1319)
02-19 12:42:20.038: E/AndroidRuntime(14751): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2385)
02-19 12:42:20.038: E/AndroidRuntime(14751): at android.app.ActivityThread.access$1600(ActivityThread.java:140)
02-19 12:42:20.038: E/AndroidRuntime(14751): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
02-19 12:42:20.038: E/AndroidRuntime(14751): at android.os.Handler.dispatchMessage(Handler.java:99)
02-19 12:42:20.038: E/AndroidRuntime(14751): at android.os.Looper.loop(Looper.java:137)
02-19 12:42:20.038: E/AndroidRuntime(14751): at android.app.ActivityThread.main(ActivityThread.java:4898)
02-19 12:42:20.038: E/AndroidRuntime(14751): at java.lang.reflect.Method.invokeNative(Native Method)
02-19 12:42:20.038: E/AndroidRuntime(14751): at java.lang.reflect.Method.invoke(Method.java:511)
02-19 12:42:20.038: E/AndroidRuntime(14751): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
02-19 12:42:20.038: E/AndroidRuntime(14751): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
02-19 12:42:20.038: E/AndroidRuntime(14751): at dalvik.system.NativeStart.main(Native Method)
Looking for a solution I tried adding: android:process=":remote" to the BeaconService
<service android:name="com.estimote.sdk.service.BeaconService"
android:process=":remote"
android:exported="true"/>
This did fix the error and I was able to receive data from the listeners but for some reason this only works on my Nexus 5 which runs Android KitKat 4.4. This solution did NOT work on my Samsung S3 which runs on an older version of Android.
Jar path: libs\estimote-sdk-preview.jar
I understand that BLE only works on 4.3+ but should it just crash like that?
Any advice?
I tried a way in "README.md"
I did that exactly and paste your distancedemo code...
but It didn't work. and error message:
AndroidRuntime - java.lang.NoClassDefFoundError: com.estimote.sdk.Beacon.
but I added lib that you told exactly, but I don't know why this message appears.
When running a MonitorListener or RangingListener we discovered the following problem:
When starting it for a region with specified major and minor values, these values are returned. When starting it for the ALL_ESTIMOTE_BEACONS region (with Major and Minor set to null) the region that is passed to the callback methods contains null in Major and Minor.
This might as well be a feature request: How can I monitor/range for all major/minors for a given uuid - yet when the region is entered, I get the exact major and minor values of the region that triggered the event?
I put the code example into a service.
It works fine, but in the time of Ranging it seems that wifi is "blocked" and i'm not able to use it. (net requests failing for time out).
Any ideas what can be wrong or N4 has some "share" hw implementation for BT+WIFI ?
I got my Android SDK from here: https://developer.android.com/sdk/index.html
I had to set this in build.gradle
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
}
}
Also had to set ANDROID_HOME
$ export ANDROID_HOME=/Downloads/adt-bundle-linux-x86_64-20131030/sdk
This is not actually an issue with this repo, but it would be nice if the README included a little bit more info.
I'm new to gradle, Android app development, and java. I'm a Linux user and programmer for 20 years.
Hope this info helps other people.
My Estimote demo is building as I type... looking forward to get my first app running and with Estimote capability at the same time! :)
Hi!
I am working with the estimote preview developer Kit and I was curious on how to distinguish between beacons.... i.e. tie a particular beacon color (distinguishing factor) to a MAC ID from the GET go.
I dont want to do experiments on Beacons to resolve their colors and Mac ID's.
I'm stuck trying to do just this. When building I get errors on the Region constructor.
Hi all,
Am new to android and also to Estimotes. Am amused with the power of these Estimotes so i decided to learn more about it.
I have bought three estimotes and trying to play around with it. I downloaded libraries and tried to identify the beacons. but am not successful. Can anyone please guide me through this initial phase.
Thanks for your attentions.
Prasad.
I am new to Android and Estimote iBeacon. Really need your help about this issue.
I have a standalone WebView sample to view any web page without issue.
I also have a simple program to run Estimote ranging and post message ( Log.i(Tag, “Received beacon …) ) without issue, too.
But when I tried to use WebView loadUrl inside Estimote onBeaconsDiscovered(), I always got blank page or half loaded broken web page.
I am not sure what I might have done wrong?
Part of the code:
// ranging
beaconManager.setRangingListener(new BeaconManager.RangingListener() {
@Override
public void onBeaconsDiscovered(Region region, final List<Beacon> beacons) {
… /* some logic to make sure this is the beacon I need */
... /* then call the WebView loadUrl to get the content next */
mWebView = (WebView) findViewById(R.id.activity_main_webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(false);
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl("http://www.google.com"); // get this content (for testing)
}
});
I am running this on Android 4.4, and device Nexus 7.
Thanks in advance,
Eric
gradle --version 1.9
stacktrace:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'Demos'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:132)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:507)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:82)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:46)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:37)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.tooling.BuildException: Gradle version 1.8 is required. Current version is 1.9. If using the gradle wrapper, try editing the distributionUrl in /Users/jiusi/Android-SDK/Demos/gradle/wrapper/gradle-wrapper.properties to gradle-1.8-all.zip
at com.android.build.gradle.BasePlugin.checkGradleVersion(BasePlugin.groovy:246)
at com.android.build.gradle.BasePlugin.apply(BasePlugin.groovy:184)
at com.android.build.gradle.AppPlugin.super$2$apply(AppPlugin.groovy)
at com.android.build.gradle.AppPlugin.apply(AppPlugin.groovy:80)
at com.android.build.gradle.AppPlugin.apply(AppPlugin.groovy)
at org.gradle.api.internal.plugins.DefaultPluginContainer.providePlugin(DefaultPluginContainer.java:104)
at org.gradle.api.internal.plugins.DefaultPluginContainer.addPluginInternal(DefaultPluginContainer.java:68)
at org.gradle.api.internal.plugins.DefaultPluginContainer.apply(DefaultPluginContainer.java:34)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyPlugin(DefaultObjectConfigurationAction.java:101)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:32)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:72)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:114)
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:39)
at org.gradle.api.Project$apply.call(Unknown Source)
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34)
at org.gradle.api.Script$apply.callCurrent(Unknown Source)
at build_34rqaacug28afu8khdsshhutes.run(/Users/jiusi/Android-SDK/Demos/build.gradle:9)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
... 30 more
before this I tried gradle 1.10, also failed, the message is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'Demos'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:156)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:507)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:82)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:46)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:37)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.api.plugins.PluginInstantiationException: Could not create plugin of type 'AppPlugin'.
at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:69)
at org.gradle.api.internal.plugins.DefaultPluginContainer.providePlugin(DefaultPluginContainer.java:103)
at org.gradle.api.internal.plugins.DefaultPluginContainer.addPluginInternal(DefaultPluginContainer.java:68)
at org.gradle.api.internal.plugins.DefaultPluginContainer.apply(DefaultPluginContainer.java:34)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyPlugin(DefaultObjectConfigurationAction.java:101)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:32)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:72)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:114)
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:39)
at org.gradle.api.Project$apply.call(Unknown Source)
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34)
at org.gradle.api.Script$apply.callCurrent(Unknown Source)
at build_34rqaacug28afu8khdsshhutes.run(/Users/jiusi/Android-SDK/Demos/build.gradle:9)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
... 30 more
Caused by: java.lang.NoClassDefFoundError: org/gradle/api/artifacts/result/ResolvedModuleVersionResult
at com.android.build.gradle.AppPlugin.$getStaticMetaClass(AppPlugin.groovy)
at com.android.build.gradle.BasePlugin.(BasePlugin.groovy:154)
at com.android.build.gradle.AppPlugin.(AppPlugin.groovy:75)
at org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:62)
at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:67)
... 43 more
Caused by: java.lang.ClassNotFoundException: org.gradle.api.artifacts.result.ResolvedModuleVersionResult
... 48 more
Hello !
I've downloaded this demo project, buid it and installed on a nexus 5 device and it doesn't detect my laptop iBeacon emulation but the "iBeacon Locate App" do detect it, then I installed the Estimote app from playstore and it also do not detect the iBeacon.
Cheers !
I build app from android sdk but app can not find the beacon from ios app.
Hello, if I add a setRangingListener to the beacon manager in NotifyDemoActivity.java from the demo application it never gets called. I can seem to find any documentation that explains this behavior so I figured it might be a bug. Sorry if I'm doing something incorrectly. See the following modified file from the demo application to reproduce the behavior I'm referring to:
Estimote distance, Proximity and Notification demos does not work when using Estimote virtual beacon on one device and running the demo on the other. Will this work only with the actual Estimote Beacons?...Just does not do anything.
Hi,
in my android app when I start a range listener for a certain beacon's major, minor and uuid (that I got from the iphone app), the listener is invoked with an empty list of beacons. What are possible reasons for this? I thought the listener would only be invoked when at least one beacon was found.
Please advise.
We have three beacons with the same proximityUUID. What does it mean? I could not find any document of this value.
How I get beacon near off me thank
Everything appears to be working correctly - I get both monitoring and ranging callbacks but I see this error in logcat every second. This is on a S4 with Android 4.4.2. Is this something to be concerned with?
com.estimote.sdk.service.BeaconService$InternalLeScanCallback.onLeScan:416 Parse error: 0201061106ba5689a6fabfa2bd01467d6e00fbabad05160a1808060609466f726365020afa00000000000000000000000000000000000000000000000000
I've integrated the SDK (great work, btw! ) into an application trying to do a prototype, but I've run into an interesting issue. When testing it with an Estimote beacon, everything works as expected.
However, I also have a non-Estimote beacon which is not being detected by the SDK. By looking in the logs, I see that the Bluetooth adapter identifies the device, as seen in:
Estimote -> 02-26 09:37:15.057 6227-6238/com.estimote.examples.demos D/BluetoothAdapter﹕ onScanResult() - Device=C1:91:C6:58:FE:E4 RSSI=-86
Non-Estimote -> 02-26 09:37:15.127 6227-6239/com.estimote.examples.demos D/BluetoothAdapter﹕ onScanResult() - Device=00:07:80:67:D6:10 RSSI=-45
But it does not show in ranging results, even after setting regions with just the UUID of the device or without any uuid (null).
So is this an intended limitation (not to work with something else besides Estimote) or it's just a bug/temporary thing?
LE: I've also tested this with RadiusNetwork's sample app and it seems to show both my beacons, so it shouldn't be an issue with my beacon.
Estimote library itself is quite small, which is nice, but enforcing Guava dependency is quite big requirement. Except for few small methods from Guava, there is no need to use it, e.g. checking if object is Null, creating collections, building toString, this all can be created with simple coding, not necessarily using bloated library.
I'm after turning my Android device into an iBeacon, and I hoped to use your library for this. Unfortunately I just read this page on which it says:
Unfortunately, it is not possible to make an iBeacon out of an Android device, because the Android Bluetooth LE APIs do not support the peripheral mode needed to send advertisement packets like in iBeacon.
So my question; does this also account for this library? Is there absolutely no way, to turn an Android device into an iBeacon?
I tried deploying Estimote's sample DistanceDemo sample application.
I am using Androidx86 running on VirtualBox. The demo can't seem to detect the BLE
It would always fail on OnStart Method.
// Check if device supports Bluetooth Low Energy.
if (!beaconManager.hasBluetooth()) {
Toast.makeText(this, "Device does not have Bluetooth Low Energy", Toast.LENGTH_LONG).show();
return;
}
Just cannot get pass through that part. By the way, when I could see the Bluetooth device through the settings. I could always see the estimote beacon on the list and I could even pair the emulator with it.
I need ServiceUUID and CharacteristicsUUID for accelerometer sensor.
There aren't in this Android-SDK.
I tried to use the .jar file in Android Studio, but it seems it cannot extract the zip.
Is android-sdk-preview.jar ready to use?
Am I doing something wrong?
I don't know, hope you can help me :)
Cheers Jurriaan
In your quick example you have:
// Should be invoked in #onCreate.
BeaconManager beaconManager = new BeaconManager(context);
beaconManager.setRangingListener(new BeaconManager.RangingListener() {
@Override public void onBeaconsDiscovered(Region region, List<Beacon> beacons) {
Log.d(TAG, "Ranged beacons: " + beacons);
}
});
Next part assume beaconManager is instance variable of that class, but it isn't.
// Should be invoked in #onStart.
beaconManager.connect(new BeaconManager.ServiceReadyCallback() {
@Override public void onServiceReady() {
try {
beaconManager.startRanging(ALL_ESTIMOTE_BEACONS);
} catch (RemoteException e) {
Log.e(TAG, "Cannot start ranging", e);
}
}
});
Shouldn't beaconManager be instance variable ?
That is:
private BeaconManager beaconManager;
Is there any way to silence the debug Logs of the scans Bluetooth Adapter ,
I dont want to see the Scan Results while Generating Logs!
03-24 20:18:31.024 17852-18223/net.fluidstream.radiovicenza D/BluetoothAdapter﹕ onScanResult() - Device=F9:57:DA:5A:67:09 RSSI=-66
03-24 20:18:31.594 17852-17990/net.fluidstream.radiovicenza D/BluetoothAdapter﹕ stopLeScan()
03-24 20:18:31.634 17852-17990/net.fluidstream.radiovicenza D/BluetoothAdapter﹕ startLeScan(): null
03-24 20:18:31.634 17852-17864/net.fluidstream.radiovicenza D/BluetoothAdapter﹕ onClientRegistered() - status=0 clientIf=5
I don't want more logging noise... I am doing my own logging and this is just interference!
I know i can filter the BluetoothAdapter ones out... but i dont want to unless there already exist a switch in the SDK or are they a part of the Bluetooth Stack??
Hi,
I just updated the estimote SDK from version 0.2 to 0.3 with the result that my demo app can't find simulated beacons from radiusnetworks MacBeacon simulator anymore. I still can find all beacons from estimote including iOS app and hardware beacons.
I use "new Region("rid", null, null, null)" as region.
Regards,
ashiaka
Hi ,
I have setup demo app using eclipse, I can run my demo app as application android.
My device detail : android version -> 4.3
Sorry Im new in phonegap and estimote setup , I only have experienced in setup estimote for IOS, actually I'm quite confuse with this Estimote/Android-SDK setup.
Back to my setup issue, after I successful run my android app from eclipse ,I run cmd with "gradlew installDebug" I got below message
"Success 4051 KB/s <722959 bytes in 0.174s>
BUILD SUCCESSFUL"
When I clicked on my device app icon , return me "Unfortunately, Estimote Demos has stopped."
When I checked from eclipse logcat :
04-04 08:02:29.495: E/AndroidRuntime(31942): FATAL EXCEPTION: main
04-04 08:02:29.495: E/AndroidRuntime(31942): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.estimote.demos/com.estimote.demos.AllDemosActivity}: java.lang.ClassNotFoundException: Didn't find class "com.estimote.demos.AllDemosActivity" on path: /data/app/com.estimote.demos-2.apk
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2219)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.ActivityThread.access$700(ActivityThread.java:159)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.os.Handler.dispatchMessage(Handler.java:99)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.os.Looper.loop(Looper.java:137)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.ActivityThread.main(ActivityThread.java:5419)
04-04 08:02:29.495: E/AndroidRuntime(31942): at java.lang.reflect.Method.invokeNative(Native Method)
04-04 08:02:29.495: E/AndroidRuntime(31942): at java.lang.reflect.Method.invoke(Method.java:525)
04-04 08:02:29.495: E/AndroidRuntime(31942): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
04-04 08:02:29.495: E/AndroidRuntime(31942): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
04-04 08:02:29.495: E/AndroidRuntime(31942): at dalvik.system.NativeStart.main(Native Method)
04-04 08:02:29.495: E/AndroidRuntime(31942): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.estimote.demos.AllDemosActivity" on path: /data/app/com.estimote.demos-2.apk
04-04 08:02:29.495: E/AndroidRuntime(31942): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64)
04-04 08:02:29.495: E/AndroidRuntime(31942): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
04-04 08:02:29.495: E/AndroidRuntime(31942): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
04-04 08:02:29.495: E/AndroidRuntime(31942): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2210)
04-04 08:02:29.495: E/AndroidRuntime(31942): ... 11 more
Anyone know what cause this issue ? Appreciate if anyone can help. Thanks.
I have followed the instructions on readme and I'm getting this error
02-22 09:47:54.563 5816-5816/com.dotcreek.eg E/dalvikvm﹕ Could not find class 'android.bluetooth.BluetoothManager', referenced from method com.estimote.sdk.Utils.restartBluetooth
after taking a look at the import options the BluethoothManager is not available to import https://www.dropbox.com/s/7fj9hiaaktjy9n6/Screenshot%202014-02-22%2010.00.16.png
which actually makes sense since I can't event turn off the bluetooth of my google glass from the settings.
here is the repo so you can check https://github.com/lustercr/estimote-glass
When I run the sample applications, all seems to work fine. I can detect the beacons and see their distance.
However, when I create my own Eclipse project, include the external jars for estimote and guave and try to simulate what happens in the ListBeaconsActivity, the BeaconManager initializes but then reports 'Could not bind service'.
I'm pretty sure I'm using at least the same library as the working sample (because I copied it from there). As far as I can tell all settings in project should be correct, since the application doesn't crash on classes not found.
Is there something I could be missing?
Thanks in advance.
The following command was run to build the demo project :
./gradlew installDebug --stacktrace
Following is the output of the command :
FAILURE: Build failed with an exception.
BUILD FAILED
Total time: 6.464 secs
If you run the demo app with v0.4.1 of the SDK it crashes the bluetooth service when trying to do a distance scan on a Nexus 4 with Android 4.4.2.
04-25 07:39:59.642 32474-32489/com.trifork.estimote D/BluetoothAdapter﹕ stopLeScan()
04-25 07:39:59.662 32474-32489/com.trifork.estimote A/EstimoteSDK﹕ com.estimote.sdk.service.BeaconService.stopScanning:286 BluetoothAdapter throws unexpected exception
java.lang.NullPointerException
at android.bluetooth.BluetoothAdapter$GattCallbackWrapper.stopLeScan(BluetoothAdapter.java:1596)
at android.bluetooth.BluetoothAdapter.stopLeScan(BluetoothAdapter.java:1540)
at com.estimote.sdk.service.BeaconService.stopScanning(BeaconService.java:284)
at com.estimote.sdk.service.BeaconService.access$700(BeaconService.java:61)
at com.estimote.sdk.service.BeaconService$1$1.run(BeaconService.java:524)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)
Hi,
is it possible to use the estimote iOS SDK in a phonegap app? Is there an example existing for this?
beaconManager.disconnect() throws ConcurrentModificationException !
The Beacon Manager seems to intermittently throw the ConcurrentModificationException , i have a few Monitoring Listeners patched up but when i call disconnect on the BeaconManager instance thats when the exception occurs.
Take a look at RadiusNetworks android ibeacon library here, https://github.com/RadiusNetworks/android-ibeacon-service
good place to grab monitoring etc.
Hi Wiktor,
The Estimote SDK is pretty Solid on working with Estimotes.
I am working around Bluetooth LE beacons including Estimote and Qualcomm Gimbal's and they Estimote SDK does not behave well with Gimbal Bluetooth Beacon Signals.
The Estimote BeaconService tries to scan the nearby Bluetooth LE devices, seems to encounter Gimbals and Fails to parse Gimbal Bluetooth LE devices and throws
NullPointerException and Crashes the BluetoothShare Scanning module and restarts the Bluetooth Adapter...
Here are the Logs:-
02-20 17:48:19.908 15209-15220/com.example.estimote_app W/Utils﹕ Manufacturer specific data should have 26 bytes length: 1107ad7700c6a00099b2e2114c24934a0c960cff8c00f68fd804a9fd63548e00000000000000000000000000000000000000000000000000000000000000
02-20 17:48:19.908 15209-15220/com.example.estimote_app W/BluetoothAdapter﹕ Unhandled exception: java.lang.NullPointerException
02-20 17:48:19.938 15209-20253/com.example.estimote_app D/BluetoothAdapter﹕ stopLeScan()
02-20 17:48:19.948 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Transmitting Beacons Entered:- 0 :: []
02-20 17:48:19.948 15209-20253/com.example.estimote_app D/BluetoothAdapter﹕ startLeScan(): null
02-20 17:48:19.948 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Transmitting Beacons Exited:-3 :: [Beacon{macAddress=EF:A0:61:44:0F:30, proximityUUID=b9407f30-f5f8-466e-aff9-25556b57fe6d, major=3888, minor=24900, measuredPower=-76, rssi=-68}, Beacon{macAddress=C7:E0:8A:A6:1A:62, proximityUUID=b9407f30-f5f8-466e-aff9-25556b57fe6d, major=6754, minor=35494, measuredPower=-74, rssi=-80}, Beacon{macAddress=F9:57:DA:5A:67:09, proximityUUID=b9407f30-f5f8-466e-aff9-25556b57fe6d, major=26377, minor=55898, measuredPower=-81, rssi=-85}]
02-20 17:48:19.948 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Entered region of BreadKrum EF:A0:61:44:0F:30
02-20 17:48:19.948 15209-15399/com.example.estimote_app D/BluetoothAdapter﹕ onClientRegistered() - status=0 clientIf=5
02-20 17:48:19.958 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Entered region of BreadKrum C7:E0:8A:A6:1A:62
02-20 17:48:20.959 15209-20253/com.example.estimote_app D/BluetoothAdapter﹕ stopLeScan()
02-20 17:48:21.049 15209-20253/com.example.estimote_app E/BluetoothAdapter﹕ Failed to stop scan and unregisterandroid.os.DeadObjectException
// Should be invoked in #onStop.
try {
beaconManager.stopRanging(ALL_ESTIMOTE_BEACONS_REGION);
} catch (RemoteException e) {
Log.e(TAG, "Cannot stop but it does not matter now", e);
}
should be "ALL_ESTIMOTE_BEACONS" not "ALL_ESTIMOTE_BEACONS_REGION"
// Should be invoked in #onStop.
try {
beaconManager.stopRanging(ALL_ESTIMOTE_BEACONS);
} catch (RemoteException e) {
Log.e(TAG, "Cannot stop but it does not matter now", e);
}
Hi ,
It seems to be possible from the SDK to convert a different beacon to a Estimote Beacon:-
Can I have some feedback if thats such a good idea??
Thanks
In package com.estimote.sdk.utils:-
public static com.estimote.sdk.Beacon beaconFromLeScan
(android.bluetooth.BluetoothDevice device, int rssi, byte[] scanRecord)
{ /* compiled code */ }
When I walk to beacon How I get properties of beacon
mac addr distant between me and beacon thank
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.