最新的Android Wear更新随附对ChannelApi的支持,可用于向可穿戴设备或手持设备发送文件或从可穿戴设备或手持设备发送文件。问题是我找不到有关如何使用此功能的单个示例。 Android示例不包含此功能。因此,如果有人知道如何使用sendFile/receiveFile并可以在此处给出一个简单的示例,将不胜感激。

最佳答案

查看此answer,以了解如何使用Channel API在设备之间创建 channel 。

创建googleClient并检索要将文件发送到的设备的nodeId之后,基本上,您可以在可穿戴设备侧使用以下代码:

//opening channel
ChannelApi.OpenChannelResult result = Wearable.ChannelApi.openChannel(googleClient, nodeId, "/mypath").await();
channel = result.getChannel();

//sending file
channel.sendFile(googleClient, Uri.fromFile(file));

然后,在手持设备上:
//receiving the file
@Override
public void onChannelOpened(Channel channel) {
    if (channel.getPath().equals("/mypath")) {

        file = new File("/sdcard/file.txt");

        try {
            file.createNewFile();
        } catch (IOException e) {
            //handle error
        }

        channel.receiveFile(mGoogleApiClient, Uri.fromFile(file), false);
    }
}

//when file is ready
@Override
public void onInputClosed(Channel channel, int i, int i1) {
    MainActivity.this.runOnUiThread(new Runnable() {
        public void run() {
            Toast.makeText(MainActivity.this, "File received!", Toast.LENGTH_SHORT).show();
        }
    });
}

如果您需要更多相关信息,请访问reference site from Google

关于wear-os - Android Wear ChannelApi示例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30693464/

10-13 06:55