#android #huawei-mobile-services #huawei-developers
#Android #huawei-мобильные сервисы #huawei-разработчики
Вопрос:
com.huawei.hms.kit.awareness.b.HHJ:HMSBase Exception Code 907135701
Я получаю эту ошибку выше при попытке извлечь информацию из Awareness kit. Как я могу решить эту проблему? Я уже включил службу информирования с консоли разработчика.
Код, который я написал до сих пор :
double latitude = 45.4943;
double longitude = 107.7436;
double radius = 200;
AwarenessBarrier enterBarrier = LocationBarrier.enter(latitude, longitude, radius);
final String BARRIER_RECEIVER_ACTION = getApplication().getPackageName() "LOCATION_BARRIER_RECEIVER_ACTION";
Intent intent = new Intent(BARRIER_RECEIVER_ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
LocationBarrierReceiver barrierReceiver = new LocationBarrierReceiver();
registerReceiver(barrierReceiver, new IntentFilter(BARRIER_RECEIVER_ACTION));
String locationBarrierLabel = "location enter barrier";
BarrierUpdateRequest.Builder builder = new BarrierUpdateRequest.Builder();
BarrierUpdateRequest request = builder.addBarrier(locationBarrierLabel, enterBarrier,pendingIntent).build();
Awareness.getBarrierClient(context).updateBarriers(request)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getApplicationContext(), "add barrier success", Toast.LENGTH_SHORT).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
Toast.makeText(getApplicationContext(), "add barrier failed", Toast.LENGTH_SHORT).show();
Log.e(TAG, "add barrier failed", e);
}
});
И мой приемник :
class LocationBarrierReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
BarrierStatus barrierStatus = BarrierStatus.extract(intent);
String label = barrierStatus.getBarrierLabel();
switch(barrierStatus.getPresentStatus()) {
case BarrierStatus.TRUE:
Log.i(TAG, label " status:true");
break;
case BarrierStatus.FALSE:
Log.i(TAG, label " status:false");
break;
case BarrierStatus.UNKNOWN:
Log.i(TAG, label " status:unknown");
break;
}
}
}
И мои зависимости таковы
implementation 'com.huawei.hms:awareness:1.0.6.300'
implementation 'com.huawei.hms:nearby:5.0.1.300'
Комментарии:
1. посмотрите, что означает код ошибки
Ответ №1:
Либо на вашем телефоне не установлено ядро HMS Core, либо у вас устаревшая версия. Пожалуйста, установите / обновите его.
Ответ №2:
В gradle вы должны использовать указанную версию. Версия, которую вы упомянули, неверна.
implementation 'com.huawei.hms:awareness:1.0.4.301'
Согласно официальному документу, это последняя версия, выпущенная 2020-04-30.
Для получения более подробной информации о версии, пожалуйста, перейдите по указанной ссылке:
https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/awareness-version-change-history#h1-1588140839497-0
Надеюсь, ваша проблема разрешится.
Ответ №3:
В дополнение к тому, чтобы убедиться, что у вас установлена последняя версия HMS Core, и вызвать последнюю версию HMS Awareness Kit, попробуйте выполнить действия по устранению неполадок, приведенные в официальной документации для вашего кода ошибки (907135701, ErrorCode.SCOPE_LIST_EMPTY).
«Проверьте, было ли создано текущее приложение и подал ли он заявку на соответствующие услуги». https://developer.huawei.com/consumer/en/doc/development/HMSCore-References-V5/error-code-0000001050045846-V5
Приведенная выше ссылка на код ошибки предполагает, что приложение, возможно, еще не создано на вашей консоли AppGallery. Вот соответствующее руководство для этого. https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/config-agc-0000001050033101