2012-02-06 13 views
3

アンドロイドTelephonyManagerアプリケーションを使用してセルラーネットワーク上のデータアクティビティの状態を取得することができます。たとえば、アクティビティの到来、外出、またはその両方。デバイスがWifiを使用して接続されているときに誰かが同じ情報を取得する方法を知っているのであれば、私は疑問に思っていますか?アイスクリームサンドイッチ(4.0.3、私は思う)は、これらの情報をWifiとTelephoneの両方で利用できますが、それ以前は電話専用です(WifiManagerはアイスクリームサンドイッチリリースまで更新されませんでした)。アンドロイドWIFIアクティブデータ転送

は、基本的にはWiFiネットワークに接続したときにデータが積極的に携帯電話/タブレットによって転送されている場合は、私がチェックできるようにしたい(だけでなく、無線LANが接続されていること)。このデータは私によって開始される必要はありません。データが活発に動いているかどうかを知りたいだけです。

これはどのように実現できますか?私はAndroidがかなり新しく、この情報が私のアプリケーションが何か悪いことをしないようにしたいと思っています。どのような考えにも事前に感謝します。

答えて

1

私もこれを探していると私は完璧な答えを持っていないが、あなたはTrafficStats APIを使用して近似データのいくつかの並べ替えを取得することができます。

私はタイマーとtotalDownloadとtotalUploadと呼ばれるクラス変数のカップルが時折オフ発射されたコードの一部を持っている...

long newTotalDownload = TrafficStats.getTotalTxBytes(); 
long newTotalUpload = TrafficStats.getTotalRxBytes(); 

long incDownload = newTotalDownload - totalDownload; 
long incUpload = newTotalUpload - totalUpload; 

if (incUpload > 0) 
{ 
    //data was being uploaded in the last time period 
} 
if (incDownload > 0) 
{ 
    //data was being downloaded in the last time period 
} 
//set up for the next iteration 
totalDownload = newTotalDownload; 
totalUpload = newTotalUpload; 

ます場合、私はより良い答えをしたいと思いますけれども、それは、動作します1つを見つける。

+0

インターネットに接続できない場合でも、アップロード部分は肯定的です。 。 。私はダウンロード部分だけが意味があると思う。 –