Android之判断手机黑屏以及锁屏
生活随笔
收集整理的這篇文章主要介紹了
Android之判断手机黑屏以及锁屏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、黑屏
/** * 判斷是否黑屏 * @param c * @return */ public final static boolean isScreenLocked(Context c) { android.app.KeyguardManager mKeyguardManager = (KeyguardManager) c.getSystemService(c.KEYGUARD_SERVICE); return !mKeyguardManager.inKeyguardRestrictedInputMode(); }2、鎖屏
鎖屏的判斷,沒有直接的方法,但是在Android的監聽機制中,有一些事件可以進行判斷:
Intent.ACTION_SCREEN_ON ? ? ? ? ?//當按下電源鍵,屏幕亮起的時候
Intent.ACTION_SCREEN_OFF ? ? ? ?//當按下電源鍵,屏幕變黑的時候
Intent.ACTION_USER_PRESENT? ? ? ? //當解除鎖屏的時候
我們當時的應用環境是在某一個activity中使用,并且該activity已經繼承了其他類,所以采用了動態注冊的方法:
1、在oncreate()方法中,注冊監聽事件
// 注冊事件 registerReceiver(myReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON)); registerReceiver(myReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF)); registerReceiver(myReceiver, new IntentFilter(Intent.ACTION_USER_PRESENT));2、寫一個內部BroadcastReceiver private BroadcastReceiver myReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (Intent.ACTION_SCREEN_ON.equals(intent.getAction()) ) {//當按下電源鍵,屏幕亮起的時候 } if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction()) ) {//當按下電源鍵,屏幕變黑的時候 islockScreen = true; } if (Intent.ACTION_USER_PRESENT.equals(intent.getAction()) ) {//當解除鎖屏的時候 islockScreen = false; } } };
總結
以上是生活随笔為你收集整理的Android之判断手机黑屏以及锁屏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Andorid之bitmap里面的压缩总
- 下一篇: Andorid之KeyguardMana