Android Wearable.API已弃用.我应该用什么呢?

Joh*_*ith 6 android

我正在使用以下内容:

GoogleApiClient mApiClient = new GoogleApiClient.Builder(this)
            .addApi( Wearable.API )
...
Run Code Online (Sandbox Code Playgroud)

既然Wearable.API已被弃用?什么是合适的替代品?

Raj*_*hti -1

我发现了一些有用的好东西

private class StartWearableActivityTask extends AsyncTask<Void, Void, Void> {

    final String key;

    public StartWearableActivityTask(String msg){
        key = msg;
    }


    @Override
    protected Void doInBackground(Void... args) {
        Collection<String> nodes = getNodes();
        for (String node : nodes) {
            sendStartActivityMessage(node,key);
        }
        return null;
    }
}

@WorkerThread
private Collection<String> getNodes() {
    HashSet<String> results = new HashSet<>();

    Task<List<Node>> nodeListTask =
            Wearable.getNodeClient(getApplicationContext()).getConnectedNodes();

    try {
        // Block on a task and get the result synchronously (because this is on a background
        // thread).
        List<Node> nodes = Tasks.await(nodeListTask);

        for (Node node : nodes) {
            results.add(node.getId());

        }

    } catch (ExecutionException exception) {
        Log.e(TAG, "Task failed: " + exception);

    } catch (InterruptedException exception) {
        Log.e(TAG, "Interrupt occurred: " + exception);
    }

    return results;
}

@WorkerThread
private void sendStartActivityMessage(String node,String event) {

    Task<Integer> sendMessageTask =
            Wearable.getMessageClient(this).sendMessage(node, event, new byte[0]);

    try {
        // Block on a task and get the result synchronously (because this is on a background
        // thread).
        Integer result = Tasks.await(sendMessageTask);


    } catch (ExecutionException exception) {
        Log.e(TAG, "Task failed: " + exception);

    } catch (InterruptedException exception) {
        Log.e(TAG, "Interrupt occurred: " + exception);
    }
}
Run Code Online (Sandbox Code Playgroud)