問題タブ [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.

0 投票する
1 に答える
1494 参照

android - 特定のスレッドからトラフィック統計を取得する方法

Android で、TrafficStatsTrafficStatsCompatを使用して、現在のプロセスの特定のスレッドの合計 TX バイトを取得するにはどうすればよいですか? APIはそれが可能であることを暗示していますが、私はそれを理解できません。

0 投票する
3 に答える
4611 参照

java - Android モバイルの使用履歴 NetworkStatsManager

私は Android 6.0 用のアプリを作成しています。新しいクラス NetworkStatsManager を使用してモバイル データの使用状況を取得したいと考えています。

マニフェストに必要なすべての権限を追加し、権限のランタイムを必要とします。

メソッドを呼び出すと:

WIFI の使用に適した値を返します。

しかし、TYPE_WIFI を TYPE_MOBILE に置き換えると、結果は常に 0 になります。

0 投票する
1 に答える
437 参照

android - 一定期間のデータ使用量を取得する

データ量、つまり 1 か月間のインターネット使用量を取得する必要があります。私はいくつかの研究を行っており、TrafficStatsクラスを見つけました。しかし、それは紛らわしいようです。getUidRxBytes()とはどう違いますかgetUidRxPackets()?1 か月間使用したデータを取得するにはどうすればよいですか?

0 投票する
1 に答える
2838 参照

android - NetworkStatsManager の queryDetailsForUid() メソッドは、常にすべてのアプリの古いネットワーク使用状況を返します

ネットワークの使用状況を取得するコードを作成しましたが、 queryDetailsForUid(int networkType, String subscriberId,long startTime, long endTime, int uid) このメソッドは常に古いデータを返します。NetworkstatsManagerAPIを使用して更新されたデータを取得するにはどうすればよいですか?

0 投票する
2 に答える
479 参照

android - GPRS Mobile のデータ使用量を 1 か月間取得するにはどうすればよいですか?

私はこれについてたくさん検索しました。目的を部分的に解決する同じコードがいたるところに見つかりました。API ドキュメントにあるように、デバイスが再起動するとカウンターがリセットされます。再起動しなくてもカウンターがリセットされることがあります。以下はコードです

しかし、このデータを特定の日付または 1 か月間取得する方法がわかりませんでしたか? 助けてください。任意のポインタをいただければ幸いです。ありがとう。

0 投票する
0 に答える
925 参照

android - ネットワーク状態変更リスナー

ネットワーク(特にモバイルデータ)の変更(接続/切断)をリッスンする必要があります。ブロードキャストレシーバーと ConnectivityManager を使用して接続の種類を知る方法を知っています。

しかし、ブロードキャストレシーバーでは、切断中のネットワークを聞きたいときに、接続が新しいネットワークに切り替わってからインテントを受信します。

なぜ私はこれをしたいのですか?
モバイルデータのデータ統計、つまり 2g/3g/4g/LTE で送受信されたデータの量を取得したいと考えています。TrafficStats.getMobileRxBytes() を使用して受信したデータを取得していますが、モバイル データに接続していない場合、このメソッドがゼロを返すとドキュメントに記載されているのとは反対です。ここでわかるように、私だけでなく多くの人がこの問題に直面しています。

Play ストアのアプリを見て、毎日使用されるデータ量を示す回避策があることは知っています。

また、ユーザーがモバイルデータに接続しているときに1秒ごとに使用されるデータを記録すると、バッテリーにはあまり良くないと思います.

この問題に対処するのを手伝ってください。

ありがとうございました

0 投票する
1 に答える
1288 参照

android - NetworkStatsManager.queryDetailsForUid が TrafficStats と「同じ」値を取得しない

ネットワークインターフェイスと特定のアプリケーション(pex Chrome)のトラフィックを測定するために、新しいNetworkStatsクラスを比較していますTrafficStats

デバイスの起動以降TrafficStatsの値があるため、実行しているテストは次のとおりです。

  1. 電話を再起動します。
  2. クロムを開きます。
  3. 10 MB のデータをダウンロード (WiFi 経由)。

で取得したデータTrafficStatsは次のとおりです。

私はアクセス許可を付与し、NetworkStats取得した値は次のとおりです。

データを取得するコードNetworkStatsは次のとおりです。

どこgetDataFromBucketにある:

バケットは 2 時間からあるとどこかで読んだので、次のコードを追加しました。

しかし、 とにはバケットがないためwifiBucketForApp、 chrome のデータはまだ 0 です。mobileBucketForApp

bootTime1日の始まり (私の国では 18:30) に設定すると、次のようになります。

Chrome アプリTrafficStatsからデバイスを起動して以来、同じ値を取得していない理由を知っている人はいますか?NetworkStatsManager

0 投票する
2 に答える
1002 参照

android - Android 6.0 では、getUidTxBytes(int uid) は常に 0 を返します。

すべてのアプリのネットワーク トラフィック統計を取得しようとしています。デバイス内のすべてのアプリケーションのネットワーク トラフィックの合計を出力するだけです。コードは Android 4.4 および 5.1 デバイスでは正常に動作していますが、Android 6.0 デバイスではすべてのアプリケーションに対して常に 0 を返します。Android 6.0デバイスでこれが発生した理由を誰でも教えてください。

これが私のAndroidManifest.xml