每次將寫好的程式碼編譯並執行的時候便要重新幫模擬器解鎖 , 重複幾次之後就會覺
得相當得煩 , 而且當模擬器進入主畫面時程式已經在背景開始執行了 , 有時候沒有馬
上解鎖便會錯失一些資訊 , 所以乾脆在模擬器進入主畫面之後就直接自動解鎖吧!
首先對於按鍵鎖的部分是交給 android.app.KeyguardManager 這個類別來處理的
而關於Android Reference是這樣敘述的:
"Class that can be used to lock and unlock the keyboard. Get an instance of this class by calling
getSystemService(java.lang.String)
with argument KEYGUARD_SERVICE
.The Actual class to control the keyboard locking is KeyguardManager.KeyguardLock
."而這段敘述告訴我們 , 其實真的在控制按鍵鎖的Class是
KeyguardManager.KeyguardLock 而下面這段Code可以解決我們的問題
package com.android; import android.app.Activity; import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import android.os.Bundle; public class HelloTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); KeyguardLock Keylock = keyguardManager.newKeyguardLock(Activity.KEYGUARD_SERVICE); Keylock.disableKeyguard(); // 自動解鎖 /* Keylock.reenableKeyguard(); 在我們使用disableKeyguard()之後 keyguard 將會被隱藏起來 而reenableKeyguard()即是使他重新出現 */ } }
另外別忘了在 AndroidManifest.xml 裡加上<uses-permission>屬性 , code如下
而在 Manifest.permission Reference中 , 有許多其他詳細的<uses-permission>敘述
而對於DISABLE_KEYGUARD 是這樣解釋的: "Allows applications to disable the keyguard"
到這邊為止 , 我們已經成功的使模擬器在執行程式碼的時候可以自動的解鎖了
所以當模擬器剛出現的時候仍然會有鍵盤鎖的圖示 , 這個時候稍等一下就會自動解鎖
進入您的程式畫面了~
沒有留言:
張貼留言