2013-03-12 48 views

回答

4

僅當設備關閉屏幕時,屏幕纔會鎖定。

您應該擴展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。

+0

好吧,目前爲止還不錯,但如果用戶從鎖屏切換到主屏幕,我需要一個事件 - 問題是不準確的...... – Cilenco 2013-03-12 18:02:18

+0

在這種情況下監聽ACTION_SCREEN_ON和ACTION_USER_PRESENT – 2013-03-12 18:05:45