1

ロック画面のアプリケーションを作成しました..時々問題が発生します。問題は、私のロック画面ではなく、デフォルトのロック画面が表示される場合と、直接ホーム画面が表示される場合があることです。どこに問題があるのか​​ わかりません。これについて私に提案してください。

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 になった後に呼び出しています。

4

0 に答える 0