Tüm uygulamaların ağ trafik istatistiklerini almaya çalışıyorum. Cihazımdaki her uygulamanın toplam ağ trafiğini yazdırıyorum. Kod android 4.4 ve 5.1 cihazlarda iyi çalışıyor ancak android 6.0 cihazında her zaman tüm uygulamalar için 0'a dönüyor. Herkes bana bunun neden android 6.0 cihazlarda olduğunu söyler.getUidTxBytes (int uid) her zaman android 6.0 0 döndürür
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for(ApplicationInfo app : getPackageManager().getInstalledApplications(0)){
long tx = TrafficStats.getUidTxBytes(app.uid);
long rx = TrafficStats.getUidRxBytes(app.uid);
long total = tx + rx;
Log.e("total data of ", app.packageName + " = " + total);
}
}
İşte benim doc göre AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mts.trafficstatsdemo">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Çok teşekkür ederim. –
Soru, android 6 (M) hakkında ... Hiçbir kısıtlama olmamalıdır. Ben bu bilgi almak için iyi bir android 6 bazı cihazlar var ve değil, ama bu cevap başına, kısıtlama android 7 etkilemelidir. –