2
com.huawei.hms.kit.awareness.b.HHJ:HMSBase Exception Code 907135701

我在尝试从 Awareness 工具包中获取信息时遇到上述错误。我怎么解决这个问题?我已经从开发者控制台启用了感知服务。

到目前为止我写的代码:

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'
4

3 回答 3

0

要么您的手机没有安装 HMS Core,要么您的手机版本过时。请安装/更新它。

于 2020-08-13T10:33:44.473 回答
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

于 2020-10-14T00:40:28.117 回答
0

在 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

希望你的问题能解决。

于 2020-08-14T12:26:00.413 回答