问题描述
com.huawei.hms.kit.awareness.b.HHJ:HMSBase Exception Code 907135701
尝试从“意识”工具包中获取信息时,出现上述错误。我怎么解决这个问题?我已经从开发者控制台启用了感知服务。
我到目前为止编写的代码:
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,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'
解决方法
您的手机未安装HMS Core,或者您的手机版本已过时。请安装/更新它。
,在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
希望您的问题能够解决。
,除了确保已安装最新版本的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