問題タブ [android-trafficstats]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 特定のスレッドからトラフィック統計を取得する方法
Android で、TrafficStatsとTrafficStatsCompatを使用して、現在のプロセスの特定のスレッドの合計 TX バイトを取得するにはどうすればよいですか? APIはそれが可能であることを暗示していますが、私はそれを理解できません。
java - Android モバイルの使用履歴 NetworkStatsManager
私は Android 6.0 用のアプリを作成しています。新しいクラス NetworkStatsManager を使用してモバイル データの使用状況を取得したいと考えています。
マニフェストに必要なすべての権限を追加し、権限のランタイムを必要とします。
メソッドを呼び出すと:
WIFI の使用に適した値を返します。
しかし、TYPE_WIFI を TYPE_MOBILE に置き換えると、結果は常に 0 になります。
android - 一定期間のデータ使用量を取得する
データ量、つまり 1 か月間のインターネット使用量を取得する必要があります。私はいくつかの研究を行っており、TrafficStats
クラスを見つけました。しかし、それは紛らわしいようです。getUidRxBytes()
とはどう違いますかgetUidRxPackets()
?1 か月間使用したデータを取得するにはどうすればよいですか?
android - NetworkStatsManager の queryDetailsForUid() メソッドは、常にすべてのアプリの古いネットワーク使用状況を返します
ネットワークの使用状況を取得するコードを作成しましたが、 queryDetailsForUid(int networkType, String subscriberId,long startTime, long endTime, int uid) このメソッドは常に古いデータを返します。NetworkstatsManager
APIを使用して更新されたデータを取得するにはどうすればよいですか?
android - GPRS Mobile のデータ使用量を 1 か月間取得するにはどうすればよいですか?
私はこれについてたくさん検索しました。目的を部分的に解決する同じコードがいたるところに見つかりました。API ドキュメントにあるように、デバイスが再起動するとカウンターがリセットされます。再起動しなくてもカウンターがリセットされることがあります。以下はコードです
しかし、このデータを特定の日付または 1 か月間取得する方法がわかりませんでしたか? 助けてください。任意のポインタをいただければ幸いです。ありがとう。
android - ネットワーク状態変更リスナー
ネットワーク(特にモバイルデータ)の変更(接続/切断)をリッスンする必要があります。ブロードキャストレシーバーと ConnectivityManager を使用して接続の種類を知る方法を知っています。
しかし、ブロードキャストレシーバーでは、切断中のネットワークを聞きたいときに、接続が新しいネットワークに切り替わってからインテントを受信します。
なぜ私はこれをしたいのですか?
モバイルデータのデータ統計、つまり 2g/3g/4g/LTE で送受信されたデータの量を取得したいと考えています。TrafficStats.getMobileRxBytes() を使用して受信したデータを取得していますが、モバイル データに接続していない場合、このメソッドがゼロを返すとドキュメントに記載されているのとは反対です。ここでわかるように、私だけでなく多くの人がこの問題に直面しています。
Play ストアのアプリを見て、毎日使用されるデータ量を示す回避策があることは知っています。
また、ユーザーがモバイルデータに接続しているときに1秒ごとに使用されるデータを記録すると、バッテリーにはあまり良くないと思います.
この問題に対処するのを手伝ってください。
ありがとうございました
android - NetworkStatsManager.queryDetailsForUid が TrafficStats と「同じ」値を取得しない
ネットワークインターフェイスと特定のアプリケーション(pex Chrome)のトラフィックを測定するために、新しいNetworkStats
クラスを比較していますTrafficStats
デバイスの起動以降TrafficStats
の値があるため、実行しているテストは次のとおりです。
- 電話を再起動します。
- クロムを開きます。
- 10 MB のデータをダウンロード (WiFi 経由)。
で取得したデータTrafficStats
は次のとおりです。
私はアクセス許可を付与し、NetworkStats
取得した値は次のとおりです。
データを取得するコードNetworkStats
は次のとおりです。
どこgetDataFromBucket
にある:
バケットは 2 時間からあるとどこかで読んだので、次のコードを追加しました。
しかし、 とにはバケットがないためwifiBucketForApp
、 chrome のデータはまだ 0 です。mobileBucketForApp
bootTime
1日の始まり (私の国では 18:30) に設定すると、次のようになります。
Chrome アプリTrafficStats
からデバイスを起動して以来、同じ値を取得していない理由を知っている人はいますか?NetworkStatsManager
android - Android 6.0 では、getUidTxBytes(int uid) は常に 0 を返します。
すべてのアプリのネットワーク トラフィック統計を取得しようとしています。デバイス内のすべてのアプリケーションのネットワーク トラフィックの合計を出力するだけです。コードは Android 4.4 および 5.1 デバイスでは正常に動作していますが、Android 6.0 デバイスではすべてのアプリケーションに対して常に 0 を返します。Android 6.0デバイスでこれが発生した理由を誰でも教えてください。
これが私のAndroidManifest.xml