Последнее обновление Android Wear поставляется с поддержкой ChannelApi, которое может использоваться для отправки файлов на/из портативных или портативных. Проблема в том, что я не могу найти один образец того, как использовать эту функциональность. Образцы Android не включают эту функцию. Поэтому, если кто-то знает, как использовать sendFile/receiveFile и может дать быстрый пример здесь, это будет оценено.Примеры использования Android Wear ChannelApi?
ответ
Посмотрите на это answer, чтобы узнать, как использовать API канала для создания канала между устройствами.
После создания googleClient и retrive в 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
Благодарим вас за пример. Я установил, что мой телефон отправляет файл .mp3 на мою носимую сторону, но я ничего не получаю (метод onChannelOpened не запускается), любая идея о том, что я могу делать неправильно? http://pastebin.com/VjfhwW51 – krakig
Как вы извлекаете идентификатор портативного узла? –
Есть ли способ увидеть ход загрузки при получении файла? – krakig
Это просто добавить к ответу: также проверить ваш WearableListenerService в androidmanifest. Фильтр намерений должен содержать действие com.google.android.gms.wearable.CHANNEL_EVENT.
Любые новости по этому вопросу? Я на самом деле ищу то же самое – krakig