2011-03-02 99 views
4

我必須從我的應用程序中以編程方式鎖定屏幕。在Android上以編程方式鎖定屏幕

我用下面的代碼:

String service = Activity.KEYGUARD_SERVICE; 
KeyguardManager mgr = (KeyguardManager)getSystemService(service); 
KeyguardLock lock = mgr.newKeyguardLock(KEYGUARD_SERVICE); 
lock.reenableKeyguard(); 

我設置以下的AndroidManifest許可。

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 

但是,它沒有給我任何結果,甚至沒有給我任何錯誤或例外。

我錯過了什麼?

回答

5

如果您支持的最低操作系統是2.2,那麼您可以使用DevicePolicyManager lockNow()方法。

如果您想了解更多關於DevicePolicyManager接口的信息,請嘗試查看ApiDemos示例代碼中的DeviceAdminSample。 Android SDK附帶了所有示例,因此您可以輕鬆地將ApiDemos作爲Eclipse項目添加並在模擬器中運行。

如果需要支持舊的OS版本太多,看我的問題在這裏:
Using OS 2.2 DevicePolicyManager SDK classes on Android whilst supporting OS 2.1 devices

+0

我已經認識到,使用DevicePolicyManager需要添加的應用管理員身份(這是手動請求用戶上第一次使用),但然後應用程序無法卸載,直到它從Administror列表中刪除!那是對的嗎?如果是這樣,真的不喜歡這樣的解決方案,因爲它會讓很多用戶生氣。 – 3c71

相關問題