2012-04-16 67 views
1
public class myReceiver extends BroadcastReceiver { 
    public static boolean wasScreenOn = true; 

    @Override 
    public void onReceive(final Context context, Intent recievedIntent) { 

     if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { 
      wasScreenOn = false; 

      Intent intent = new Intent(context, 
        myActivity.class); 
      intent.setAction(Intent.ACTION_MAIN); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
      intent.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
      context.startActivity(intent 
        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); 

     } else if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_ON)) { 
      wasScreenOn = true; 
     } 
    } 
} 

當電話屏幕上顯示時,活動顯示。廣播接收器在一段時間後撥打電話的意圖android

myActivity.class

使用KeyguardManager啓動服務的disableKeyguard。在服務中註冊接收器。現在,當用戶關閉設備,然後調用ACTION_SCREEN_OFF,當點擊主頁按鈕,然後調用ACTION_SCREEN_ON但是當我按home buttom多次時會發生問題。

+0

沒有足夠的信息,ellaborate更多信息,請。 – 2012-04-16 11:28:36

+0

@khushi:感謝您的更新。你有嘗試使用'ACTION_USER_PRESENT'而不是'ACTION_SCREEN_ON'? – 2012-04-16 11:44:26

+0

ACTION_USER_PRESENT和ACTION_SCREEN_ON之間有什麼不同,我試着用ACTION_USER_PRESENT但沒有任何效果。 – 2012-04-16 11:50:10

回答

0

添加一行在清單中接收標籤

接收器的android: 「MyBoardCast」 名稱=機器人:啓用= 「真」