2015-06-07 10 views
9

L'ultimo aggiornamento di Android Wear viene fornito con il supporto per ChannelApi che può essere utilizzato per l'invio di file a/da indossabile o palmare. Il problema è che non riesco a trovare un singolo esempio di come utilizzare questa funzionalità. Gli esempi Android non includono questa funzionalità. Quindi se qualcuno sa come usare sendFile/receiveFile e può dare un rapido esempio qui sarebbe apprezzato.Esempi di Android Wear ChannelApi?

+0

Qualche notizia su questo? In realtà sto cercando lo stesso – krakig

risposta

7

Dai un'occhiata a questo answer per sapere come utilizzare l'API del canale per creare il canale tra i dispositivi.

Dopo aver creato il googleClient e retrive la nodeId del dispositivo che si desidera inviare il file, in pratica è possibile utilizzare il seguente codice sul lato indossabile:

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

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

Poi, sul dispositivo palmare:

//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(); 
     } 
    }); 
} 

Se avete bisogno di ulteriori informazioni su questo, si prega di visitare il reference site from Google

+0

Grazie per aver dato un esempio. Ho impostato il mio telefono per inviare un file .mp3 al mio lato indossabile, ma non ricevo nulla (il metodo onChannelOpened non viene attivato), qualche idea di cosa potrei fare male? http://pastebin.com/VjfhwW51 – krakig

+0

Come si recupera l'ID del nodo palmare? –

+1

C'è un modo per vedere l'avanzamento del download quando si riceve il file? – krakig

2

questo è solo un aggiungere alla risposta: controllare anche il tuo WearableListenerService in Androidmanifest. Il filtro intent dovrebbe contenere l'azione com.google.android.gms.wearable.CHANNEL_EVENT.

Problemi correlati