ロック画面のアプリケーションを作成しました..時々問題が発生します。問題は、私のロック画面ではなく、デフォルトのロック画面が表示される場合と、直接ホーム画面が表示される場合があることです。どこに問題があるのか わかりません。これについて私に提案してください。
LockScreenActivity: 使用
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
ScreenReceiver を作成します。
ACTION_SCREEN_OFF
ACTION_SCREEN_ON
ACTION_BOOT_COMPLETED
このリンクを参照してください: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/
マニフェスト ファイル内: サービスと受信者と許可を宣言します。
問題は BroadcastReceiver にあります。
if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//call activity
}else if (recievedIntent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
}
しかし、画面がオンになった後のアクティビティ呼び出し..何が欠けているのか、何が問題なのか..なぜそれが起こっているのか..
こんにちはここに私のコードです:
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;
}
}
}
アクティビティは、アクション画面が call になった後に呼び出しています。