是否可以查詢Android設備的年齡?我想知道,用戶擁有他的設備多長時間。電池的年齡可能是一個很好的指標,但我找不到合適的API。 Optimum將是第一次設備啓動的時間戳。有任何想法嗎?Android設備時代
1
A
回答
0
有可能需要在這裏考慮的一些困難:
1)大多數Android設備有(容易),可拆卸電池。舉個例子,當我使用我的手機時,我有幾個電池可以交替使用。
2)即使啓動時收集了時間戳,如果手機的所有者擦除設備以安裝不同的ROM,它們也可能會被刪除。
我希望jcollum的解決方案試圖確定手機的型號,或者查看一些硬件,並確定模型的近似發佈日期可能是您最接近的解決方案。我懷疑你會發現確定實際設備使用年限的準確性。如果有,請糾正我 - 我現在也很好奇!
+0
我也考慮過這個模型,但問題是:有些模型在商店中可用超過幾個月。因此,這將是一個非常糟糕的估計。 – phoku 2012-02-11 17:43:19
0
這是一個有趣的問題。沒有API可以告訴設備何時首次購買 - 但您可以查找代理。
- 閱讀短信收件箱 - 發送或接收郵件的最早日期是什麼。 (當然,他們可能已經刪除了舊信息)。
- 同樣,閱讀通話記錄並查看他們第一次收到或撥打電話的時間。
- 正常運行時間也可以被查詢 - 但我想大多數人會關閉設備,否則重新啓動它。
- 查看圖庫,您可以查詢EXIF數據並查看最早拍攝照片的時間。
- 通過訪問文件系統,您可以查看特定文件的創建時間。
這些都不是完美的,但它們可以用於在用戶第一次獲得設備時放置一些界限。
1
沒有可靠的方法來找出設備的年齡,但是不知何故我們可以計算出年齡。
Android設備打包了一些預安裝的應用程序(Sytem應用程序),當用戶擁有它時,他安裝了其他應用程序(用戶應用程序)。我們可以找出最早安裝的用戶應用的日期,並可以預測設備的使用時間。
*如果設備在使用後重置,將很難找到設備的使用時間。
// @返回最早安裝的應用程序的日期。
private static String getOldestAppsAge(Context context) {
long appsAge = 0;
try {
appsAge = System.currentTimeMillis();
PackageManager pkgManager = context.getPackageManager();
List<ApplicationInfo> lsApp = pkgManager.getInstalledApplications(0);
for (ApplicationInfo localApplicationInfo : lsApp) {
String pkgName = localApplicationInfo.packageName;
if ((localApplicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
PackageInfo info = pkgManager.getPackageInfo(pkgName, 0);
long firstInstallTime = info.firstInstallTime;
if (firstInstallTime < appsAge && firstInstallTime > sGINGER_RELEASE_DATE) {
appsAge = info.firstInstallTime;
}
}
}
} catch (PackageManager.NameNotFoundException ex) {
ex.printStackTrace();
}
return DateUtils.convertIntoDesiredDateFormat(appsAge);
}
- 一些Android設備的返回信號出現時間(1970年),所以我們必須用一些檢查條件:如果(firstInstallTime> sGINGER_RELEASE_DATE)
相關問題
- 1. [Android]:當Android設備睡眠時阻止USB設備睡眠
- 2. Android代碼不掃描BLE設備CC2650
- 3. Android獲取設備國家代碼
- 4. Android設備上的WebSocket代碼
- 5. 替代getOrDefault低於API 24設備Android
- 6. 在Android設備上運行scala代碼
- 7. 的Android ID作爲替代設備ID
- 8. 捕獲android設備屏幕的代碼?
- 9. 獲取android設備的代號
- 10. 特定設備的Android源代碼
- 11. 如何檢查Android設備的代號?
- 12. iPhone設備代
- 13. Android設備API
- 14. Android 2.0設備
- 15. 在Android設備
- 16. Android設備
- 17. android設備rssi
- 18. 的Android 4.0.4設備 - 顯示沒有USB設備時,有
- 19. 如何在設備管理員停用時擦除Android設備?
- 20. 檢測Android設備上的USB設備何時分離
- 21. Android設備每次插入設備時運行
- 22. 「運行adb設備時未列出Android設備(ubantu 10.10)」
- 23. Android中的設備到設備通信
- 24. Android設備adb另一個設備
- 25. 支持的Android設備:0個設備
- 26. Windows設備不再識別Android設備
- 27. Android:發現藍牙設備時出錯
- 28. 大小不同的跳時Android設備
- 29. 通過GPS時間同步Android設備?
- 30. Android設備的屏幕刷新時間
我不知道答案,但如果你有手機的型號,可以近似設備的使用年限。你想通過設備的年齡獲得什麼? – jcollum 2012-02-11 17:27:50
我不認爲有任何API。 – kosa 2012-02-11 17:28:30
這主要是爲了研究的目的。我也可以讓用戶向我提供信息,但我希望爲它提供一些客觀價值。 – phoku 2012-02-11 17:36:15