2014-01-12 2 views
0

두 OS 모두 내가 마지막 부팅 이후 현재 가동 시간을 얻을 수 있음을 알고 있지만 OS가 처음 시작된 이후 또는 내 응용 프로그램이 실행 된 이후로 전체 가동 시간을 얻을 수있는 방법이 있습니다. 설치되었거나 비슷한가요? 부팅시 배경 서비스를 실행하여 나를 위해 축적하려고 생각했지만 실제로 iOS 또는 그 어떤 것에서도 그렇게 할 수는 없습니다. 이 아이디어를 어떻게 달성 할 수 있습니까? 안드로이드에 대해 말하기Android 및 iPhone의 총 가동 시간

+0

"마지막 부팅"과 "OS가 처음 시작된"의 차이점은 무엇입니까? – CommonsWare

+0

나는 처음 만들어진 장치의 부팅을 언급하고 있습니다. –

답변

0

:

OS가 처음하지 직접

을 시작된 이후 총 가동 시간을 얻을 수있는 방법이 있지만, 준 해결 방법은 아래를 참조하십시오.

또는 내 응용 프로그램

PackageManager

를 설치하고 getPackageInfo()는 자신의 패키지 이름으로, 일부 패키지 당신에게 PackageInfo 개체를 반환 할 수 있기 때문에

. 패키지가 설치된시기를 나타내는 long firstInstallTime이 있습니다.

모든 패키지에 대해 PackageInfo 개의 객체를 얻을 수 있으므로 가장 오래된 앱 설치 시간을 찾아서 가장 가까운 시간에 대략적으로 알고리즘을 익히는 것이 좋습니다. 그러나 사전 설치된 응용 프로그램을 걸러 내야하고 까다 롭습니다. 나는 이것에 의지하고 싶지 않을 것입니다.

+0

내가 언급 한 것을 잊어 버렸습니다. 최종 사용자가 직접 수정할 수없는 값을 찾고 있습니다. 그렇지 않으면 단순히 현재의 에포크 시간을 얻는 것이 내 문제를 해결하는 데 충분했을 것입니다. 부츠를 가로 질러 지속되는 타이머를 찾고 있는데 내 앱이 시작되지 않는 동안 계속 실행됩니다. –

+0

@ Tri-EdgeAI : "최종 사용자가 직접 수정할 수없는 값을 찾고 있음을 잊어 버렸습니다."- 사용자가 패키지 설치 시간을 수정할 수 없습니다 (제거하지 않음) – CommonsWare

+0

사용자가 수정할 수 있음 그의 장치에있는 현재 시간. 패키지 설치 이후 얼마나 많은 시간이 지 났는지 알 수 없습니다. 더 자세히 읽으십시오. –