2012-01-04 63 views
0

由於API等級8 PowerManager has contained a reboot()方法。我的Android應用程序可以使用PowerManager的重啓方法嗎?

我已經添加了所需的權限,以我的表現,取得的PowerManager的對象,然後調用

pm.reboot(); 

這導致強制關閉與該堆棧跟蹤

01-04 16:58 :35.847:錯誤/ AndroidRuntime(2945):java.lang.SecurityException:用戶10060或當前進程都沒有android.permission.REBOOT。

有誰知道這個PowerManager.reboot()方法是否應該可用於應用程序?由於它在文檔中,我有點猜測可以使用。

回答

3

有誰知道這個PowerManager.reboot()方法是否應該可用於應用程序?

安裝到系統分區作爲固件一部分的SDK應用程序可以保存REBOOT權限。普通的SDK應用程序不能。

+0

是否有任何方便的地方可以找到具體哪些API可用於標準應用程序的哪些部分?開發人員文檔沒有提及它只是在方法或權限上的系統。這樣的列表確實有助於避免在探索某些API過程中涉及的一些試驗和錯誤 – FoamyGuy 2012-01-05 01:15:15

+2

@Tim:文檔通常很好地表明需要執行某些操作所需的權限。該文檔沒有描述任何地方持有許可所需的內容。要做到這一點,你需要在源代碼中檢查'frameworks/base/core/res/AndroidManifest.xml'。每個權限都列出了一個'android:protectionLevel'屬性。 '簽名'表示應用程序必須使用固件的簽名密鑰進行簽名。 'signatureOrSystem'還允許應用程序正常簽名,但駐留在'/ mnt/system'中。任何應用程序都可以容納「正常」和「危險」應用程序。 – CommonsWare 2012-01-05 12:33:10

+1

完美,謝謝。 – FoamyGuy 2012-01-05 14:07:08

相關問題