![]()
Androidアプリの実行中に今現在画面がロックされているかどうかのロック状態を調べるにはKeyguardManager:: inKeyguardRestrictedInputMode()を使う。trueならロック中、falseならロックされていない。
package com.Test127;
import android.app.Activity;
import android.app.KeyguardManager;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
public class Test127Act extends Activity
{
private KeyguardManager _KeyguardManager;
private boolean _bScreenLocked = false;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
_KeyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
_bScreenLocked = _KeyguardManager.inKeyguardRestrictedInputMode();
}
@Override
public void onPause()
{
super.onPause();
_bScreenLocked = _KeyguardManager.inKeyguardRestrictedInputMode();
if(_bScreenLocked)
{
//ロックされた
//呼ばれないことあり
Log.d("Test127","onPause() Locked!!! Do something ....");
}
}
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
if(_bScreenLocked == true && hasFocus)
{
//アンロックされた
//呼ばれないことあり
Log.d("Test127","onWindowFocusChanged() Unlocked!!! Do something ....");
}
_bScreenLocked = _KeyguardManager.inKeyguardRestrictedInputMode();
}
}
プロジェクトファイルをダウンロード
