홈>
Usagestats를 사용하여 사용자 사용량 데이터를 검색하려고합니다 ...하지만 잘못된 데이터를 받고 있습니다 ... "매일 00:00:00 ~ 23:59:59" >
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_WEEK, -1); \\ the missing line
UsageStatsManager uStateManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
List<UsageStats> usageList = uStateManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(), System.currentTimeMillis());
.getTotalTimeInForeground ()를 사용하면 예상과 다른 결과를 얻습니까? 예상 한 결과를 얻지 않고 많은 방법과 다른 방법으로 시도한 올바른 방법을 설정하도록 도와 줄 수 있습니까? 감사합니다
-
답변 # 1
관련 자료
- r - 데이터 프레임에서 geom_segment로 색상을 가져올 때 잘못된 색상이 표시됨
- c++ - 분할 오류가 발생하는 이유는 무엇입니까? 내가 도대체 뭘 잘못하고있는 겁니까?
- docx4j-export-fo를 통해 TOC에서 잘못된 페이지 번호 얻기
- path - Python에서 pathlib로 폴더를 잘못 가져 오기 (\ u2069)
- 자바 스크립트 함수 실행에서 잘못된 계산을 얻는 중
- firebase - FCM 안드로이드 블록이 무시됩니다
- firebase - 이 안드로이드 프로젝트에서 NullPointer 예외가 발생하는 이유는 무엇입니까?
- c++ - 내 함수가 잘못된 순서로 변수 값을 얻는 이유는 무엇입니까?
- java - 잘못된 순서/유형 불일치로 데이터를 삽입하는 Android SQLite
- javascript - 정답을 입력하면 왜 항상"잘못"이됩니까?
- windows - 소켓 라이브러리 (python)에서 잘못된 ip 가져 오기 - [다른 어댑터에서 정보 얻기]
- sql - 배우 역할을 출력하려고 할 때 오답 받기
- java - Android Studio, 'cannot resolve method'오류 발생
- c# - 기존 목록에 목록을 추가하는 중에 문제가 발생했습니다
- java - 의도 안드로이드에서 오류가 발생하면 누군가이 오류를 해결하고 나를 도와주세요 SS를 확인하십시오 해결하기 위해 세 가지 방법을 시도했지만 사용하지 않았습니다
- python - 이진 열 팬더의 통계 분석을 얻지 못함
- Excel의 다른 날짜 및 시간에서 날짜 및 시간을 뺀 잘못된 결과 얻기
- android kotlin - 앱이 잠자기 모드 일 때 위치 가져 오기
- kotlin - 비트 맵 Android 8을 저장할 때 잘못된 이미지 이름 및 유형
- java - 이 코드에 어떤 문제가 있습니까? "스위치 또는 루프 외부에서 중단"이 계속 발생하지만 중단이 for 루프에 있습니다
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- python - 문자열에서 특정 문자 제거
이 질문은 조금 낡았지만 나는
UsageStatsManager
와 싸우고 있습니다 지금은 상당한 시간 동안 다른 사람들에게 유용한 몇 가지를 발견했습니다. 이 문제를 해결하는 데 도움이되는 몇 가지 팁이 있습니다.Calendar.getInstance()
"Calendar
를 반환 캘린더 필드가 현재 날짜 및시간으로 초기화 된 객체입니다. "(링크) 그 당시의 일일 사용량을 얻으려면 수동으로 자정으로 설정해야합니다.와이즈 비츠 같아 UTC 시간을 사용하여 모든 데이터를 저장합니다. 따라서 쿼리 할 때 시간을 조정하십시오.
UsageStatsManager
를 사용하여 일일 사용 통계를 찾았습니다 완전히 신뢰할 수 없습니다. UTC 시간 조정을 사용하더라도 시간에 따라 오늘 통계 대신 어제 통계를 다시 보내는 것으로 보입니다.이 메소드를 쿼리 할 때 어떤 통계를 고려해야하는지 결정하는 방법에 대한 문서는 많지 않으므로 상당히 신뢰할 수 없습니다. 일일 통계를 계산하는 경우
queryUsageStats
를 사용하는 것이 좋습니다. 대신 시간을 수동으로 계산합니다. 계산 된 시간은UsageEvent
가 리턴 한 시간과 일치합니다. (해당 메소드가 올바른 통계를 반환하는 경우), 이는 전경 추적에 충분히 신뢰할 수 있다는 증거입니다. 이 질문에 대해이를 수행하는 방법에 대한 자세한 내용이 있으며 구현을 추가했습니다 (링크).queryUsageStats