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多次時會發生問題。
沒有足夠的信息,ellaborate更多信息,請。 – 2012-04-16 11:28:36
@khushi:感謝您的更新。你有嘗試使用'ACTION_USER_PRESENT'而不是'ACTION_SCREEN_ON'? – 2012-04-16 11:44:26
ACTION_USER_PRESENT和ACTION_SCREEN_ON之間有什麼不同,我試着用ACTION_USER_PRESENT但沒有任何效果。 – 2012-04-16 11:50:10