Android-Proximity-SDK
Android-Proximity-SDK copied to clipboard
Estimote Multiple Proximity Error
Prerequisites
- [ x] Put an X between the brackets on this line if you have done all of the following: x My beacons have Estimote Monitoring enabled (Check it in the Estimote Cloud, or via app) x My Android device/devices supports BLE and has Android OS version >= 5.0.0 x My Android device/devices have bluetooth enabled x My app has Location Permissions granted
Basic information
Estimote SDK version: [Paste here the SDK version that you are using (like 0.1.0-alpha.6)]
Android devices affected: [Paste here your Android device model/models that you are having problems with.] Samsung Galaxy S5
Android OS version affected: [Android OS version (ex. Oreo 8.0.0)] 6.0.1
Beacon hardware version: [Paste here your beacons hardware version (you can check that in Estimote Cloud).]
Description
the proximty for multiple beacons doesnt seem to be working ie unable to scan [Description of the issue]
(Optional) Steps to reproduce:
- [First Step]
- [Second Step]
- [and so on...]
Expected behavior: [What you expect to happen]
Actual behavior: [What actually happens]
Additional information
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_1_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_2_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_3_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_4_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_5_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_6_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_7_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_8_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm --instruction-set-features=smp,div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set-variant=cortex-a7 --instruction-set-features=default --dex-file=/data/app/com.example.estimoteproximity-1/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm/data@[email protected]@[email protected]) because non-0 exit status
W/System: ClassLoader referenced unknown path: /data/app/com.example.estimoteproximity-1/lib/arm
I/InstantRun: starting instant run server: is main process
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>
Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>
D/TextView: setTypeface with style : 0
setTypeface with style : 0
D/TextView: setTypeface with style : 0
D/BluetoothAdapter: STATE_ON
STATE_ON
STATE_ON
STATE_ON
D/BluetoothAdapter: STATE_ON
STATE_ON
D/BluetoothLeScanner: Start Scan
D/BluetoothAdapter: STATE_ON
STATE_ON
D/BluetoothAdapter: STATE_ON
STATE_ON
D/BluetoothLeScanner: onClientRegistered() - status=0 clientIf=6
D/BluetoothLeScanner: Start Scan
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
D/ScanRecord: first manudata for manu ID
D/ScanRecord: parseFromBytes
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/BluetoothLeScanner: onClientRegistered() - status=0 clientIf=7
D/ScanRecord: parseFromBytes
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/BluetoothLeScanner: Start Scan
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
D/BluetoothAdapter: STATE_ON
STATE_ON
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/ScanRecord: parseFromBytes
first manudata for manu ID
D/BluetoothLeScanner: Scan failed, reason app registration failed for UUID = *************************
Add here any logs you want to attach, or any other info, like pictures for example
```MY CODE
package com.example.estimoteproximity;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.estimote.mustard.rx_goodness.rx_requirements_wizard.Requirement;
import com.estimote.mustard.rx_goodness.rx_requirements_wizard.RequirementsWizardFactory;
import com.estimote.proximity_sdk.api.EstimoteCloudCredentials;
import com.estimote.proximity_sdk.api.ProximityObserver;
import com.estimote.proximity_sdk.api.ProximityObserverBuilder;
import com.estimote.proximity_sdk.api.ProximityZone;
import com.estimote.proximity_sdk.api.ProximityZoneBuilder;
import com.estimote.proximity_sdk.api.ProximityZoneContext;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
public class MainActivity extends AppCompatActivity {
private ProximityObserver proximityObserver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EstimoteCloudCredentials cloudCredentials =
new EstimoteCloudCredentials("tiiltlab-gmail-com-s-proxi-6ol", "491fbfe85f10e51c7565875fc4bab4e4");
this.proximityObserver = new ProximityObserverBuilder(getApplicationContext(), cloudCredentials).onError(new Function1<Throwable, Unit>() {
@Override
public Unit invoke(Throwable throwable) {
Log.e("app", "proximity observer error: " + throwable);
return null;
}
}).withBalancedPowerMode().build();
final ProximityZone zone = new ProximityZoneBuilder().forTag("TiiltLab").inNearRange()
.onEnter(new Function1<ProximityZoneContext, Unit>() {
@Override
public Unit invoke(ProximityZoneContext context) {
String Location = context.getAttachments().get("Location");
Log.d("app", "Welcome to " + Location);
return null;
}
}).onExit(new Function1<ProximityZoneContext, Unit>() {
@Override
public Unit invoke(ProximityZoneContext context) {
Log.d("app", "Bye bye, come again!");
return null;
}
}).onContextChange(new Function1<Set<? extends ProximityZoneContext>, Unit>() {
@Override
public Unit invoke(Set<? extends ProximityZoneContext> contexts) {
List<String> Locations = new ArrayList<>();
for (ProximityZoneContext context : contexts) {
Locations.add(context.getAttachments().get("Location"));
}
Log.d("app", "In range of: " + Locations );
return null;
}
}).build();
// Java
ProximityObserver.Handler observationHandler =
proximityObserver
.startObserving(zone);
RequirementsWizardFactory
.createEstimoteRequirementsWizard()
.fulfillRequirements(this,
// onRequirementsFulfilled
new Function0<Unit>() {
@Override public Unit invoke() {
Log.d("app", "requirements fulfilled");
proximityObserver.startObserving(zone);
return null;
}
},
// onRequirementsMissing
new Function1<List<? extends Requirement>, Unit>() {
@Override public Unit invoke(List<? extends Requirement> requirements) {
Log.e("app", "requirements missing: " + requirements);
return null;
}
},
// onError
new Function1<Throwable, Unit>() {
@Override public Unit invoke(Throwable throwable) {
Log.e("app", "requirements error: " + throwable);
return null;
}
});
}
}