スクリーンのロックとリスニングのロック解除
3320 ワード
スクリーンロックとロック解除時にそれぞれ2つのブロードキャストSCREEN_が送信されます.ONとSCREEN_OFFですが、この2つのactionはコード形式でしか登録できず、Android Manifest.xmlに登録しても傍受できません.
public class ScreenActionReceiver extends BroadcastReceiver {
private String TAG = "ScreenActionReceiver";
private boolean isRegisterReceiver = false;
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_SCREEN_ON)) {
Logcat.d(TAG, " ...");
} else if (action.equals(Intent.ACTION_SCREEN_OFF)) {
Logcat.d(TAG, " ...");
}
}
public void registerScreenActionReceiver(Context mContext) {
if (!isRegisterReceiver) {
isRegisterReceiver = true;
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
Logcat.d(TAG, " 、 ...");
mContext.registerReceiver(ScreenActionReceiver.this, filter);
}
}
public void unRegisterScreenActionReceiver(Context mContext) {
if (isRegisterReceiver) {
isRegisterReceiver = false;
Logcat.d(TAG, " 、 ...");
mContext.unregisterReceiver(ScreenActionReceiver.this);
}
}
}