我正在爲我的應用程序登錄屏幕上工作。如果我打開應用程序,通過從eclipse運行或選擇安裝在模擬器上的應用程序圖標,它將運行一個AuthUser.class,它檢查遠程服務器上的有效令牌。如果用戶沒有那麼AuthUser.class轉發記錄到Login.class通過......通過共享菜單轉發目標後的後退按鈕問題
if (authtoken.length() == 0 || authtoken.length() > 0
&& checkAuthToken(authtoken) == false) {
Intent intent = new Intent();
intent.setClass(AuthUser.this, Login.class);
startActivity(intent);
finish();
}
這個偉大的工程,因爲當我使用模擬器上的後退按鈕會關閉該應用程序,而不是去回到登錄屏幕。完善。
現在,當我從一個共享菜單,就像當我選擇圖庫中的圖片上的共享圖標來,然後從彈出菜單中選擇我的應用程序還着有Login.class通過...
Intent intent1 = new Intent();
intent1.setClass(SharePictureMenu.this, AuthUser.class);
startActivity(intent1);
finish();
現在,當我從這裏登錄並按照慣例轉發到AuthUser.class時,現在後退按鈕會將我帶回登錄屏幕,即使我在兩種情況下轉發和完成都完全相同。顯然,我不希望這種行爲,因爲我希望它關閉應用程序並在登錄後返回到圖庫,以便用戶可以繼續共享圖像,而無需通過登錄屏幕返回。
任何建議,黑客或以其他方式修復這將不勝感激。
你是什麼意思,「它轉發到AuthUser.class按慣例」? – Michael
我的意思是,一旦用戶在該應用程序的愛將轉發到另一類稱爲AuthUser像這樣... 意圖intent = new Intent(); intent.setClass(Login.this,AuthUser.class); startActivity(intent); finish(); 所以當後退按鈕被按下時,它不應該回到登錄屏幕,因爲它已被轉發到另一個類(屏幕)並完成。然而,只有這一次不起作用時,應用程序才從共享菜單中調用。 – sasykes