2013-02-06 97 views
0

我有一個關於android活動的問題。用第二個屏幕啓動應用程序

我有我的第一個登錄畫面(MainActivity),從那裏去第二屏幕,現在當我按下從屏幕上的退出按鈕我想關閉應用程序(或Android主屏幕),下次打開我想要的應用程序用秒屏啓動應用程序。

我想我的第二個屏幕上的代碼,但它不工作

public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) 
{ 
    if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE)         
    {  

     //My logic here 

     return true; 
    } 
    return false; 
} 
+0

這樣做你想做什麼? – Rahil2952

+0

你必須activity.finish();在你的逃生按鈕代碼... – duggu

+0

你是指鍵盤逃生按鈕或你有自定義按鈕的那個 – KDeogharkar

回答

0

我假設你正在嘗試類似如下:

弗里斯特安裝#

LoginScreen> SecondScreen,當您按逃避它會關閉整個應用程序。

第二次#

當您打開的應用程序會從第二個屏幕,而不是loginScreen開始。

解決方案

階段1#

存放在database or sharepreference您的登錄信息,當第一次登錄已取得,並finish() loginscreen同時打開第二個屏幕。

階段2#

當您打開第二次你的應用程序,check your login info,如果它存在,那麼重定向到次活動其他開放loginScreen

+0

完美....多數民衆贊成在我想要的感謝邏輯 – Nik

+0

@ user1259670歡迎:) – RobinHood

0

當你在那個時候開始你的第二個活動與完成現有胡亞蓉finish()

例如

Intent intent = new Intent(this, SecondActivity.class); 
startActivity(intent); 
finish(); 

此代碼將完成您當前的活動,並且當您在第二項活動中按下後退按鈕時,應用程序就會關閉。

+0

嗨感謝您的建議,我試過,但事情是它關閉應用程序,但當我回到應用程序,它帶我再次登錄頁面,但現在我想打開應用程序與第二屏 – Nik

0

在開始第二個活動後登錄活動調用完成。

startActivity(i); 
finish(); 

現在,如果你按下它應該關閉應用程序,當你再次啓動應用程序時,第二個活動將可見。

1
  1. 第一次,當您使用的應用程序,開始與LoginScreen, 然後調用finish()。也存儲在共享的偏好要知道的是, 應用ATLEAST使用一次,當你按下回SecondScreen按鈕(登錄)

  2. 既然你完成了LoginScreen,你會來到設備的家,而不是LoginScreen。

  3. 當你想啓動應用程序,檢查sharedPreference用戶是否登錄,並完成LoginScreen剛剛在的onCreate

LoginScreenActivity開始

下一次:

+0

Awsome偉大的答案謝謝:-) – Nik

0

有兩種方法可以做到這一點:

  1. 在android menifest活動定義中使用「noHistory = true」進行登錄活動。

    <activity android:name="YOUR_FIRST_ACTIVITY" 
    android:label="FIRST_ACTIVITY" 
    android:noHistory="true" /> 
    
  2. 您可以在開始第二個活動時完成()第一個活動。

    startActivity(SECOND_ACTIVITY_INTENT); 
    FIRST_ACTIVITY.this.finish(); 
    

希望它會幫助你。

+0

謝謝你的suggetion – Nik

相關問題