GithubHelp home page GithubHelp logo

estimote / android-fleet-management-sdk Goto Github PK

View Code? Open in Web Editor NEW
836.0 129.0 450.0 77 MB

Estimote Fleet Management SDK for Android

Home Page: https://developer.estimote.com

License: MIT License

estimote beacons estimote-cloud android

android-fleet-management-sdk's People

Contributors

bvermeule avatar deshraj avatar heypiotr avatar martynal avatar neurosnap avatar ociepa avatar paweldylag avatar piotrekmalek avatar poberro avatar pt2121 avatar snehajalukar avatar topgenorth avatar wafel82 avatar wiktor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-fleet-management-sdk's Issues

GoogleGlass support

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/dalvikvmCould 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

Shouldn't "beaconManager" be instance variable, not local function's variable?

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;

Need help in understanding Estimotes

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.

Problem using setMonitoringListener and setRangingListener in the same Activity

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:

https://github.com/wseemann/Android-SDK/blob/master/Demos/src/main/java/com/estimote/examples/demos/NotifyDemoActivity.java

Ranging Listener returns empty list of beacons in onBeaconsDiscovered()

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.

SDK not working with non Estimote devices

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.

BeaconManager: 'could not bind to service'.

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.

cannot extract android-sdk-preview.jar

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

How to mute BluetoothAdapter logs?

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??

Potential Bug in the SDK

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

No BLE all the time

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.

beaconManager.disconnect() throws ConcurrentModificationException

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.

Resource '/AllDemosActivity/res' does not exist.

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

What does proximityUUID mean?

We have three beacons with the same proximityUUID. What does it mean? I could not find any document of this value.

build.gradle

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! :)

How to turn Android device into an iBeacon?

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?

MonitoringListener should return list of beacons that triggered enter/exit event

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?

Parse Error

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

Sample Code Typo

// 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);
}

Drop Guava dependency

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.

estimote SDK will only find beacons from estimote!?

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

How to distinguish between estimotes?

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.

Nexus 4 ranging in service + wifi

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 ?

Better error reporting when changing beacon characteristics

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.

Estimote Distance Demo

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.

Framework should not crash on Androids <4.3

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)

I tried a way that you had told. It didn't work

I tried a way in "README.md"

  1. Copy estimote-sdk-preview.jar along with guava-15.0.jar to your libs directory.
  2. Add following permissions and service declaration to your AndroidManifest.xml:

I did that exactly and paste your distancedemo code...

  1. DistanceBackgroundView
  2. DistanceBeaconActivity
  3. LeDeviceListAdapter
  4. ListBeaconsActivity

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.

Detect different Bluetooth Beacons using Utils Class

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 */ }

gradle can't build -> Could not determine the dependencies of task ':installDebug'.

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.

  • What went wrong:
    Could not determine the dependencies of task ':installDebug'.
  • Try:
    Run with --info or --debug option to get more log output.
  • Exception is:
    org.gradle.api.GradleException: Could not determine the dependencies of task ':installDebug'.
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.resolve(CachingTaskDependencyResolveContext.java:65)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:53)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.addToTaskGraph(DefaultTaskExecutionPlan.java:99)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.addTasks(DefaultTaskGraphExecuter.java:74)
    at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:51)
    at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42)
    at org.gradle.execution.DefaultBuildExecuter.access$100(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:48)
    at org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:46)
    at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42)
    at org.gradle.execution.DefaultBuildExecuter.access$100(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:48)
    at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:38)
    at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42)
    at org.gradle.execution.DefaultBuildExecuter.select(DefaultBuildExecuter.java:35)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
    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)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:58)
    Caused by: java.lang.IllegalStateException: Platform-tools folder missing: /home/robin/lib/adt-bundle-linux-x86_64-20140321/platform-tools
    at com.android.builder.DefaultSdkParser.getPlatformToolsFolder(DefaultSdkParser.java:194)
    at com.android.builder.DefaultSdkParser.getAdb(DefaultSdkParser.java:166)
    at com.android.build.gradle.BasePlugin$_addPackageTasks_closure89.doCall(BasePlugin.groovy:1207)
    at org.gradle.api.internal.ConventionAwareHelper$1.getValue(ConventionAwareHelper.java:72)
    at org.gradle.api.internal.ConventionAwareHelper$MappedPropertyImpl.getValue(ConventionAwareHelper.java:136)
    at org.gradle.api.internal.ConventionAwareHelper.getConventionValue(ConventionAwareHelper.java:114)
    at com.android.build.gradle.internal.tasks.InstallTask_Decorated.getAdbExe(Unknown Source)
    at org.gradle.util.JavaMethod.invoke(JavaMethod.java:62)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$PropertyInfo$4.create(AnnotationProcessingTaskFactory.java:453)
    at org.gradle.util.SingleMessageLogger.whileDisabled(SingleMessageLogger.java:168)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$PropertyInfo.getValue(AnnotationProcessingTaskFactory.java:451)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$Validator$1.call(AnnotationProcessingTaskFactory.java:255)
    at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:120)
    at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:75)
    at org.gradle.api.internal.file.collections.BuildDependenciesOnlyFileCollectionResolveContext$BuildableFileTreeInternalConverter.convertInto(BuildDependenciesOnlyFileCollectionResolveContext.java:50)
    at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:98)
    at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:82)
    at org.gradle.api.internal.file.collections.BuildDependenciesOnlyFileCollectionResolveContext.resolveAsBuildables(BuildDependenciesOnlyFileCollectionResolveContext.java:43)
    at org.gradle.api.internal.file.CompositeFileCollection.addDependencies(CompositeFileCollection.java:136)
    at org.gradle.api.internal.file.CompositeFileCollection$3.resolve(CompositeFileCollection.java:124)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext$TaskGraphImpl.getNodeValues(CachingTaskDependencyResolveContext.java:86)
    at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmpyEdges.getNodeValues(CachingDirectedGraphWalker.java:200)
    at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:112)
    at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:64)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.doResolve(CachingTaskDependencyResolveContext.java:74)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.resolve(CachingTaskDependencyResolveContext.java:63)
    ... 39 more

BUILD FAILED

Total time: 6.464 secs

“Unfortunately, Estimote Demos has stopped.” when running AllDemosActivity on Nexus 7

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

Where is th ebeacon list sorted?

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?

Crash with NullPointerException

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)

Service crashes when stopping a scan

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)

WebView object shows blank page inside onBeaconsDiscovered()?

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

It's not working, even the demo from playstore with nexus 5

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 !

Regarding BLE Profile

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.

gradle buildDebug failed

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

Could not find class/NoClassDefFoundError BeaconService while using SDK in remote service

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?

What does region represents?

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?

Unfortunately, Estimote Demos has stopped

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.