2016-03-24 6 views
0

My Roximity SDK постоянно врезаться,Roximity SDK для маяков разбивающихся

Вот мой Gradle:

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
compile project(':cropper') 
compile project(':main') 
compile project(':ROXIMITY_SDK_1_3_73') 
compile 'com.mcxiaoke.volley:library:1.0.19' 
compile 'com.google.code.gson:gson:2.2.4' 
compile 'org.slf4j:slf4j-api:1.7.10' 
compile 'com.google.android.gms:play-services-base:8.4.0' 
compile 'com.google.android.gms:play-services-location:8.4.0' 
compile 'com.google.android.gms:play-services-ads:8.4.0' 
compile 'com.google.android.gms:play-services-identity:8.4.0' 
compile 'com.google.android.gms:play-services-gcm:8.4.0' 
compile 'org.apache.httpcomponents:httpmime:4.5.2' 
compile 'com.loopj.android:android-async-http:1.4.9' 
compile 'com.android.support:appcompat-v7:23.1.1' 

} Мои Manifest:

Я использую код в соответствии с инструкциями, упомянутыми на сайте страница документации как http://docs.roximity.com/mobile/android/integration, In onCreate:

ROXIMITYEngine.startEngineWithOptions(this.getApplicationContext(), R.drawable.ic_launcher, null, this, null); 
createBroadcastRecievers(); 

определение:

private void createBroadcastRecievers(){ 
    IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction(ROXConsts.MESSAGE_FIRED); 
    intentFilter.addAction(ROXConsts.BEACON_RANGE_UPDATE); 
    intentFilter.addAction(ROXConsts.WEBHOOK_POSTED); 

    LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, intentFilter); 
} 
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if(intent.getAction().equals(ROXConsts.MESSAGE_FIRED)) { 
      MessageParcel messageParcel = (MessageParcel)intent.getParcelableExtra(ROXConsts.EXTRA_MESSAGE_PARCEL); 
      handleMessageFired(messageParcel); 
     } else if (intent.getAction().equals(ROXConsts.BEACON_RANGE_UPDATE)){ 
      String rangeJson = intent.getStringExtra(ROXConsts.EXTRA_RANGE_DATA); 
      handleBeaconRangeUpdate(rangeJson); 
     } 
    } 
}; 

Теперь его поведение совершенно странно. Иногда он не обнаруживал маяки и посылал пустые пучки в ответ. Иногда обнаруживает маяки в течение нескольких минут и в основном получает сбой после одного или двух обновлений. Вот авария Доклад: FATAL ИСКЛЮЧЕНИЯ: главный процесса:

java.lang.NullPointerException: Попытка чтения из поля 'java.lang.String android.location.Location.mProvider' на нулевой объекта ссылка на android.location.Location.set (Location.java:131) at android.location.Location. (Location.java:124) at com.roximity.sdk.location.RoxLocation. (RoxLocation.java:30) at com.roximity.sdk.actions.bb (ActionManager.java:265) at com.roximity.sdk.actions.bc (ActionManager.java:213) at com.roximity.sdk.beacons.cc (RangingManager.java:169) at com.roximity.sdk.beacons.cb (RangingManager.java : 107) at com.roximity.sdk.beacons.ca (RangingManager.java:84) at com.roximity.system.ble.dj (BluetoothScanController.java:286) at com.roximity.system.ble.f .run (BluetoothScanController.java:257) на android.os.Handler.handleCallback (Handler.java:739) на android.os.Handler.dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:145) на ndroid.app.ActivityThread.main (ActivityThread.java:5835) по адресу java.lang.reflect.Method.invoke (собственный метод) по адресу java.lang.reflect.Method.invoke (Method.java:372) по адресу com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1399) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1194)

Я попробовал почти все возможные решения, это не проблема в конце приложения, и не устранены путем внесения изменений в их рекомендуемый код. Любое решение будет высоко оценено.

ответ

1

Несколько вещей, которые мы надеемся, поможет:

  • Самое относительно вещь, которую я вижу, это второй параметр, com.roximity.roximitysdkstarterkit.R.raw.roxstore, в вашем ROXIMITYEngine.startEngineWithOptions() вызова.Документация описывает этот параметр как «Идентификатор, который будет отображаться для уведомлений, например, R.drawable.ic_launcher». Замените этот параметр идентификатором ресурса в каталоге ресурсов вашего приложения.
  • Из ваших зависимостей gradel похоже, что вы можете использовать неподдерживаемую версию SDK, 1.3.71. Самая ранняя поддерживаемая версия SDK для работы с Google Play Services 8.4.0 - 1.3.73. Убедитесь, что вы используете поддерживаемый .aar и правильно привязали его к вашему проекту.
  • Совместимость Android v7, используемая для поддержки более старой версии Android, также не указана в зависимостях gradel. Обязательно добавьте compile 'appcompat-v7:23.1.1' в список зависимостей.
  • В ваших зависимостях также содержится информация о том, что вы собираете всю библиотеку Служб Google Play, а также строки для отдельных модулей, в то время как это не является технически неправильным - вы должны учитывать только импорт модулей Службы Google Play, которые необходимы для вы код. Что касается ROXIMITY v1.3.73 SDK, то необходимы только необходимые модули; основание, gcm и местоположение.

EDIT

Глядя на ваш стек аварии следа, представленная ошибка пустая ссылка, когда поле mProvider предпринимается попытка извлечь из объекта Location. Казалось бы, этот сбой является результатом кода, ожидающего объект Location, вероятно, из FusedLocationApi, но вместо этого принимает значение null. Возможно, некоторое исследование того, как и почему FusedLocationApi может вернуть нулевой объект, станет хорошим местом для продолжения ваших усилий.

Вот несколько ссылок, чтобы вы начали:

Why is FusedLocationApi.getLastLocation null

FusedLocationApi.getLastLocation always null

+0

спасибо за ваш подробный ответ, я попробовал все решения, которые вы упомянули, но все-таки не повезло и получить тот же авария. В соответствии с командой поддержки нет решения этого сбоя, если они не обновляют свой sdk, но все равно, даже после обновления их sdk, и они плохо реагируют. –

 Смежные вопросы

  • Нет связанных вопросов^_^