2012-02-05 61 views
0

Im建立自定義主屏幕與自定義鎖屏。當屏幕關閉時,我啓動鎖屏(活動), 但是,當鎖屏被殺死(通過「finish()」),它會返回到 我的主屏幕apk中的最後一個活動,而不是真正的活動(apk), 是在屏幕熄滅之前可見的。麻煩實現自定義鎖定屏幕(後臺活動問題)

例如,如果我在計算器應用程序,或在時鐘應用程序了,並且鎖定屏幕打開,當鎖屏活動結束後,它不會返回到計算器/時鐘

這裏的地方我註冊了鎖屏(主發射活動)和開/關事件接收屏幕:

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開始的觀點 一個全新的組,以便在邏輯上你沒有先前活動回去退出你的鎖屏時。

我正在建造一個自己,非常類似於你如何做到這一點。 但不幸的是有這些問題: - 它負載放緩有時 - 它加載時,它「感覺」,如:/ 納米,古德勒克隊友

+0

你怎麼解決的主頁按鈕的問題?你(都)有一些回購分享? – matiasfh 2014-08-07 14:41:27