2011-11-10 4 views
9

Sto provando a scrivere un'applicazione di monitoraggio del traffico di rete da solo. Ho utilizzato lo TrafficStat per ottenere le statistiche sul traffico di rete per app. Ma per le applicazioni video come YouTube, i dati in streaming non possono essere acquisiti da TrafficStat. Invece, i dati in streaming vengono catturati in "android.process.media". A volte viene catturato dall'API del traffico di rete totale in TrafficStat anziché dall'API per app. Se esiste una sola applicazione video, ad esempio YouTube, posso sempre assegnare a YouTube l'utilizzo dei dati acquisito dalla parte "android.process.media". Ma alcune persone hanno più applicazioni video diverse sul telefono e quelle applicazioni di solito usano lo stesso metodo per lo streaming di video. Pertanto non riesco a distinguere la quantità di dati consumati da ciascuna app video.Come ottenere la stat del traffico di rete per le applicazioni di streaming video su Android?

Dal mercato Android, ho trovato My Data Manager, che sembra catturare correttamente l'utilizzo dei dati di ciascuna applicazione video. Quindi presumo ci debba essere un modo per farlo. Ma ho passato molto tempo a cercare le soluzioni. Non ha ancora avuto successo. Qualcuno sa come farlo?

===== Aggiornamento sulla 2014/02/05 ====

mi è capitato di parlare con il ragazzo che implementa Android TrafficStat in un evento di Google. Mi ha detto che le versioni precedenti (Gingerbread e Eariler) di TrafficStat sono buggy. I nuovi in ​​ICS o successivi dovrebbero essere corretti. Non ho provato le nuove versioni. Quindi usalo con cautela.

+0

Non ho idea di come si erano tirare fuori. 'android.process.media' è il processo che sta effettuando il trasferimento di rete per lo streaming multimediale AFAIK. Anche NetStat (per una risposta) dovrebbe puntare il dito su 'android.process.media'. La stessa cosa vale per altri servizi di rete centralizzati, come "DownloadManager". – CommonsWare

+0

Penso, non c'è modo. Ma aspetto che gli altri rispondano. – landry

risposta