Android ScreenLockReceiverリスニングロック機能例

1742 ワード

この例では、Android ScreenLockReceiverのリスニングロック機能について説明します.皆さんの参考にしてください.具体的には以下の通りです.
リスニングスクリーンのロックステータス(登録受信者--ビジネスの実行--受信者のログアウト)

public class AppLockService extends Service {
  private ActivityManager am;
  private KeyguardManager keyguardManager;
  private LockScreenReceiver receiver;
  @Override
  public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
    //         
    IntentFilter filter = new IntentFilter();
    filter.addAction(Intent.ACTION_SCREEN_OFF);
    receiver = new LockScreenReceiver();
    registerReceiver(receiver, filter);
    new Thread(){
      public void run() {
        //         ,     ,     
        while(true){
          boolean isLockScreen = keyguardManager.inKeyguardRestrictedInputMode();
          /**        */
        }
      };
    }.start();
  }
  private final class LockScreenReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
      tempAppLocks.clear();
    }
  }
  @Override
  public void onDestroy() {
    super.onDestroy();
    //         
    unregisterReceiver(receiver);
  }
}


Androidに関する詳細に興味のある方は、「Android開発入門と進級チュートリアル」、「Androidデバッグテクニックとよくある問題解決方法の概要」、「Android基本コンポーネントの使い方のまとめ」、「AndroidビューViewテクニックのまとめ」、「Androidレイアウトlayoutテクニックのまとめ」、「Androidコントロールの使い方のまとめ」を参照してください.
この文書がAndroidプログラムの設計に役立つことを願っています.