CapabilityClient returns 空

CapabilityClient returns null

Wearable.getCapabilityClient 搜索功能时总是 returns null。尽管我遵循了开发人员指南并且 wear.xml 被放置在正确的位置,但它可能无法正确找到它。

https://developer.android.com/training/wearables/data-layer/messages.html

 AsyncTask.execute(() -> {
        CapabilityInfo capabilityInfo;

            capabilityInfo = Tasks.await(
                    Wearable.getCapabilityClient(getBaseContext()).getCapability("setqueue", CapabilityClient.FILTER_REACHABLE));
//Returns no nodes
    });

wear.xml 的结构 移动 -> 资源 -> 值 -> wear.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="android_wear_capabilities">
    <item>setqueue</item>
</string-array>

我不知道为什么找不到该功能,我们将不胜感激。

试试这个

   private void showNodes() {

    Task<CapabilityInfo> capabilitiesTask =
            Wearable.getCapabilityClient(this)
                    .getCapability(Keys.APP_CAPABILITY, CapabilityClient.FILTER_REACHABLE);

    capabilitiesTask.addOnSuccessListener(new OnSuccessListener<CapabilityInfo>() {

        @Override
        public void onSuccess(CapabilityInfo capabilityInfo) {

            for (Node node : capabilityInfo.getNodes()) {

                if (node.isNearby()) {

                    //Do something
                    break;
                }
            }
        }
    });
}