每次將寫好的程式碼編譯並執行的時候便要重新幫模擬器解鎖 , 重複幾次之後就會覺
得相當得煩 , 而且當模擬器進入主畫面時程式已經在背景開始執行了 , 有時候沒有馬
上解鎖便會錯失一些資訊 , 所以乾脆在模擬器進入主畫面之後就直接自動解鎖吧!
首先對於按鍵鎖的部分是交給 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"
到這邊為止 , 我們已經成功的使模擬器在執行程式碼的時候可以自動的解鎖了
所以當模擬器剛出現的時候仍然會有鍵盤鎖的圖示 , 這個時候稍等一下就會自動解鎖
進入您的程式畫面了~
沒有留言:
張貼留言