У меня есть приложение, которое использует API traffic stats, чтобы узнать, какие запущенные процессы используют сеть.Android M: Как получить все процессы UID?
Я использовал это, получив uid, полученный с помощью метода getRunningAppProcesses()
. По-видимому, это было изменено в Android M, чтобы вернуть только имя вашего пакета приложений, как показано на рисунке here.
Мой вопрос: есть ли другой способ получить имя и UID всех запущенных процессов в Android M?
Вот пример того, как я делал это раньше, я хотел бы, чтобы воссоздать эту функциональность на Android M.
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
PackageManager pm = context.getPackageManager();
for (int i = 0; i < procInfos.size(); i++) {
try {
String packageName = procInfos.get(i).processName;
String appName = "";
try {
appName = pm.getApplicationLabel(
pm.getApplicationInfo(packageName, PackageManager.GET_META_DATA))
.toString();
} catch (NameNotFoundException e) {
appName = "";
}
int uid = procInfos.get(i).uid;
long ulBytes = TrafficStats.getUidTxBytes(uid);
long dlBytes = TrafficStats.getUidRxBytes(uid);
// Do other stuff.
Любая помощь очень ценится. Благодаря!
То же самое происходит со мной. Любое решение? Я вижу https://code.google.com/p/android-developer-preview/issues/detail?id=2347, но никто не дает решения! – LopezAgrela