You need to have an instance of the FootmarksAPI class to interact with the ExtremeLocation SDK. It is obtained by calling a static method to initialize the SDK.
mFootmarksAPI = FootmarksAPI.init(context, APP_KEY, APP_SECRET, new FootmarksAPI.InitCallback() { @Override public void onError(FootmarksSdkError footmarksSdkError) { Log.w(TAG, String.format("Error %1$s: %2$s", footmarksSdkError.getError().toString(), footmarksSdkError.getMessage())); switch (footmarksSdkError.getError()) { // You can do different actions depending on error type case LOCATION_PERMISSION_NOT_ENABLED: break; case BLUETOOTH_NOT_ON: break; case BLE_NOT_SUPPORTED: break; case APPKEY_MISSING: break; case APPSECRET_MISSING: break; case LOGIN_ERROR: break; } } @Override public void onSuccess() { // API is initialized"); // This is a good place to call startScan } });
Note
APP_KEY and APP_SECRET can be obtained from https://manage.extremelocation.com. If initialization fails, the onError callback will be called with error information and type. If the call succeeds, onSuccess will be called. The FootmarksAPI instance can then be used to start and stop scanning and to set callbacks for beacon and location related events.