2013-07-19 53 views
0

背景:我正在開發一個用於商業用途的應用程序,它將與專用設備一起銷售。換句話說,客戶會從我們這裏購買一個android桌面,並且使用自定義的ROM來限制設備在我們的軟件中的使用。Android:我如何獲得set_time權限?

問題: Android設備中的時鐘同步到服務器的操作至關重要,這意味着應用程序需要能夠更新時間。

,我迄今發現的信息似乎是粗略TBH,但是這是我發現:

  • 我需要SET_TIME權限
    • 爲了得到這個我將需要安裝作爲一個系統應用程序(我通過將apk放在系統/應用程序文件夾中)...
    • ...而且我將需要使用與構建系統映像相同的密鑰簽署我的應用程序
    • 我會需要將android:sharedUserId =「android.uid.system」添加到清單

上午我在正確的軌道?

+1

如果這是自定義ROM,修改自定義ROM中的SNTP邏輯以引用所需的SNTP服務器似乎更簡單,而不是嘗試在應用程序級別執行此操作。 – CommonsWare

+0

@CommonsWare - 這聽起來像一個合理的想法,我們還沒有開始在ROM上工作,所以我不確定什麼是和不可能在該級別。 我們遇到可怕的時間漂移​​的設備,所以我認爲他們根本沒有參考SNTP。 – CurlyPaul

回答

1

那麼我讀了一些,我仍然不確定是否有可能使用NTP服務器,即使建立我自己的ROM。大多數Android設備將使用NITZ從移動網絡獲取日期,但我的目標設備僅限WIFI。

我在這裏找到了答案Setting system time of ROOTED phone - 特別是@ CrazyCoder的答案,揭示了他的ClockSync應用程序的工作原理。

此解決方案要求設備是根植的,但不需要是系統應用程序或與之相關的任何權限。

相關問題