2017-02-11 71 views
0

在我的Android應用程序中,當用戶成功登錄Facebook和Google Plus時,用戶有一個確認活動,其中有禁用模式的下一個按鈕。而管理員將從數據庫啓用用戶。如果用戶將通過管理員從數據庫啓用,則確認活動和下一個按鈕將被啓用,用戶可以移動到下一個活動。當用戶第二次打開應用時,用戶將能夠顯示確認活動。開始第二個活動的應用程序

我不知道,怎樣應用這個邏輯:

場景:

第一個場景:

Splash screen->Login->success->confirmation activity 

第二個場景:

ConfirmationActivty->Next button enable 
+0

你可以添加一些你的代碼。你的要求很簡單,但我需要知道你是如何構建的 – Stefan

+0

不,因爲我沒有任何邏輯我想第二個屏幕的邏輯當用戶第二次點擊時如何打開第二個屏幕然後用戶將能夠看到在android中的第二個屏幕。@Stefan –

回答

0

假設SplashActivity.java是你的主要活動

更改您的代碼如下所示

public class SplashActivity extends Activity { 

    SharedPreferences preferences; 
    SharedPreferences.Editor prefEditor; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     preferences = getSharedPreferences("MyPreference", MODE_PRIVATE); 

     // returns true if value does not exist 
     // if it's users first time this will return true 
     if(preferences.getBoolean ("isFirstTime", true)){ 
      prefEditor = preferences.edit(); 
      // changes the value 
      prefEditor.putBoolean("isFirstTime", false).commit(); 
     }else{ 

      // add your code to open your Confirmation Activity 
      finish(); 
      return; 
     } 

     // rest of your code including `setContentView()` 
    } 
} 
+0

謝謝U I解決我的問題@Prashant –

0

你可以將「下一步」按鈕的可見性設置爲「GONE」和m在後臺撥打網絡電話到您的服務器以檢查管理員是否已批准。如果獲得批准,您可以將按鈕的可見性設置爲「可見」。在網絡通話期間,您可以啓動進度對話框。單擊here以查看如何使用可見性。

[更新] 您可以使用類似:

final SharedPreferences prefs = getApplicationContext().getSharedPreferences(
      Constants.LAUNCH_TIME_PREFERENCE_FILE, Context.MODE_PRIVATE); 
    editor = prefs.edit(); 
    profile = getApplicationContext().getSharedPreferences(Constants.PROFILE_PREFERENCE_FILE,Context.MODE_PRIVATE); 
    if (!prefs.getBoolean(Constants.FIRST_TIME,false)) { 
     // <---- run your one time code here 
     Intent intent = new Intent(this,first_screen.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

     startActivity(intent); 


    } 
+0

我遵循這種邏輯是完美的工作,但是當在實際的Android用戶開放應用第二次則用戶展示確認活動,對我來說,當用戶打開應用程序第二次則閃屏是有的,但我想確認活動。 @Anshuman阿格拉瓦爾 –

+0

@Richa使用SharedPreferences並檢查用戶呼叫'的setContentView之前打開您的應用程序第一次或者不'的onCreate()'閃屏的()'。如果不打開確認活動和完成飛濺和回報。發佈一些代碼,我們可以查看和更改 – Prashant

+0

你能提供一些源代碼結構,請@Prashant –

0

對於第一個場景:

你應該設置標誌即isUserLoggedIn在首選項中默認爲false。 用戶登錄後,將此標誌設置爲true。 在LoginActivityonCreate(),從首選項檢查該標誌,如果它是真的完成活動,並開始confirmationActivity別的什麼都不做。

對於第二個場景:

在這裏,你還可以保持標誌isUserConfirmed相同的登錄。並且您可以在收到通知後將該標誌更新爲真,從服務器向用戶發送通知。如果活動位於前臺,則啓用ConfirmationActivity上的按鈕。

相關問題