1
如何從服務中檢查KeyGuard(鎖屏)是否可見?我想支持原始和自定義鎖屏。獲取鎖屏的可見性
如何從服務中檢查KeyGuard(鎖屏)是否可見?我想支持原始和自定義鎖屏。獲取鎖屏的可見性
僅當設備關閉屏幕時,屏幕纔會鎖定。
您應該擴展BroadcastReceiver
和實施onReceive
,像這樣:
public class YourBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_SCREEN_OFF.equalsIgnoreCase(intent.getAction())) {
//screen has been switched off!
}
}
}
然後你只需要註冊登記,當屏幕關閉時,你會開始接收事件:
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
appBroadcastReceiver = new AppBroadcastReceiver(yourActivity);
registerReceiver(appBroadcastReceiver, filter);
在屏幕關閉後,用戶將其設備設置爲鎖定n
秒的邊緣情況下,您可能需要在廣播接收器中爲ACTION_SCREEN_ON
添加支票,並檢查第EM。
好吧,目前爲止還不錯,但如果用戶從鎖屏切換到主屏幕,我需要一個事件 - 問題是不準確的...... – Cilenco 2013-03-12 18:02:18
在這種情況下監聽ACTION_SCREEN_ON和ACTION_USER_PRESENT – 2013-03-12 18:05:45