2012-02-05 17 views
0

カスタムロック画面付きのカスタムホーム画面をビルドしました。画面がオフにすると、ロック画面が殺されたときトラブルカスタムロック画面の実装(バックグラウンドアクティビティの問題)

は、私は、それは私のホームスクリーンのapkに 最後のアクティビティに戻り(「()仕上げ」によって)、しかし、ロック画面(アクティビティ)、 を起動します画面が消える直前に が表示されていた実際のアクティビティ(apk)ではなく、私は、またはクロックapplicaitonで電卓アプリケーションにだし、ロック画面がロック画面の活動が終了すると、オンならば

例えば、それは

ここどこだ電卓/時計には戻りません私は/オフイベントに画面を受信するための(メインランチャ活性の)ロック画面を登録します。

private void doLockScreenOperations() 
{ 
    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); 
    KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
    lock.disableKeyguard(); 

    IntentFilter lockfiFilter = new IntentFilter(); 
    lockfiFilter.addAction(Intent.ACTION_SCREEN_OFF); 
    lockfiFilter.addAction(Intent.ACTION_SCREEN_ON); 
    getApplicationContext().registerReceiver(new LockScreenReceiver(), lockfiFilter); 
} 

は、ここで私は、ロック画面のアクティビティを起動する受信機自体、です:

public class LockScreenReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     String action = intent.getAction(); 

     if (action.equals(Intent.ACTION_SCREEN_OFF)) 
     { 
      if (LockScreenActivity.isLockScreenAlive == false) 
      { 
       Intent lockIntent = new Intent(context, LockScreenActivity.class); 
       lockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(lockIntent); 
      } 
     } 

     else if (action.equals(Intent.ACTION_SCREEN_ON)) 
     { 

     } 
    } 
} 

LockScreenActivityはその時点で、ボタンがクリックされたときにfinish()と呼ばれるボタン を持つ単純なアクティビティです。

これを修正する方法はわかりません。

ありがとうございます!

答えて

1

私は全くわからメイトないんだけど、あなたはこれを考慮しなければならない: Intent.FLAG_ACTIVITY_NEW_TASKはビュー の新鮮な新しいグループを開始しますので、論理的に、あなたのロック画面を終了するときに戻って、以前の活動を持っていません。

私は自分自身を作成し​​ていますが、実際に行う方法と非常によく似ています。 残念ながら、これらの問題持つ:どのようにホームボタンの問題を解決するのです/ nmで、グッドラックメイト

+0

:それはのように「を感じている」いつでも時々 -it負荷を遅くする -it負荷を?あなたは(どちらも)共有するためにいくつかのレポを持っていますか? – matiasfh