Как получить мобильную передачу данных по временному интервалу? - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь выяснить использование данных на Android по временному интервалу с помощью приведенного ниже кода, но для получения идентификатора подписчика требуется разрешение READ_PHONE_STATE. Есть ли другой способ получения данных за определенный промежуток времени, например, ежедневно, еженедельно или ежемесячно, без запроса разрешения?

     NetworkStatsManager networkStatsManager1 = (NetworkStatsManager) getApplicationContext().getSystemService(Context.NETWORK_STATS_SERVICE);
 NetworkStats.Bucket bucket1 = null;
  try {
      bucket1 = networkStatsManager.querySummaryForDevice(ConnectivityManager.TYPE_MOBILE,
                                    getSubscriberId(this, ConnectivityManager.TYPE_MOBILE),
                                    startTimeMillis,
                                    System.currentTimeMillis());
       } catch (RemoteException e) {

      }


private String getSubscriberId(Context context, int networkType) {

                if (ConnectivityManager.TYPE_MOBILE == networkType) {

        TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
                    return tm.getSubscriberId();

                }
                return "";


    }
...