Das neueste Android Wear-Update enthält Unterstützung für ChannelApi, mit dem Dateien an tragbare Geräte oder Handhelds gesendet werden können. Das Problem ist, dass ich kein einziges Beispiel für die Verwendung dieser Funktionalität finden kann. Die Android-Beispiele enthalten diese Funktion nicht. Wenn also irgendjemand weiß, wie man sendFile/receiveFile benutzt und kann hier ein kurzes Beispiel geben, wäre es wünschenswert.Android Wear ChannelApi-Beispiele?
Antwort
Werfen Sie einen Blick auf diese answer zu wissen, wie Sie die Channel-API verwenden, um den Kanal zwischen den Geräten zu erstellen.
Nachdem Sie die googleClient erstellen und retrive die nodeId des Gerätes sollten Sie die Datei senden, im Grunde können Sie den folgenden Code auf der tragbaren Seite verwenden:
//opening channel
ChannelApi.OpenChannelResult result = Wearable.ChannelApi.openChannel(googleClient, nodeId, "/mypath").await();
channel = result.getChannel();
//sending file
channel.sendFile(googleClient, Uri.fromFile(file));
Dann wird auf dem Handheld-Gerät:
//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();
}
});
}
Wenn Sie weitere Informationen zu diesem benötigen, besuchen Sie bitte die reference site from Google
Vielen Dank für ein Beispiel. Ich habe mein Telefon so eingestellt, dass es eine MP3-Datei an meine tragbare Seite sendet, aber ich empfange nichts (die onChannelOpened-Methode wird nicht ausgelöst), irgendeine Ahnung, was ich falsch machen könnte? http://pastebin.com/VjfhwW51 – krakig
Wie erhalten Sie die Hand Node ID? –
Gibt es eine Möglichkeit, den Fortschritt des Downloads zu sehen, wenn Sie die Datei erhalten? – krakig
Dies ist ein nur auf die Antwort hinzufügen: auch überprüfen Ihr WearableListenerService in Androidmanifest. Der Filter für die Absicht sollte die Aktion com.google.android.gms. wearable.CHANNEL_EVENT enthalten.
Irgendwelche Neuigkeiten dazu? Ich bin auf der Suche nach dem gleichen – krakig