2017-02-11 3 views
0

В моем приложении для Android, когда пользователь успешно зарегистрировался в Facebook и Google Plus, у пользователя есть одно подтверждение. Действие, которое имеет следующую кнопку в режиме отключения. В то время как admin будет включать пользователя из базы данных. Если пользователь будет включен из базы данных с помощью admin, тогда будет активировано действие «Активность» и следующая кнопка, и пользователь сможет перейти к следующей операции. Когда пользователь откроет приложение во второй раз, пользователь сможет отобразить операцию подтверждения.Запуск приложения со вторым действием

Я не знаю, как применить эту логику:

Сценарий:

Первая сцена:

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

Вторая сцена:

ConfirmationActivty->Next button enable 
+0

Вы можете добавить код. Что вы просите довольно просто, но мне нужно знать, как вы его создаете. – Stefan

+0

Нет, потому что у меня нет логики. Мне нужна логика для второго экрана, как открыть второй экран, когда пользователь нажмет второй раз, тогда пользователь сможет увидеть второй экран в [email protected] –

ответ

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

Спасибо, я решил свою проблему @Prashant –

0

Вы можете установите видимость «следующей» кнопки «GONE» и m ake сетевой вызов в фоновом режиме на ваш сервер, чтобы проверить, одобрен администратор или нет. Если вы одобрены, вы можете установить видимость кнопки «VISIBLE». И во время сетевого вызова вы можете запустить диалог прогресса. Нажмите here, чтобы узнать, как использовать видимость.

[Update] вы можете использовать что-то вроде:

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

Я применяю эту логику, это отлично работает, но когда пользователь открывает приложение во второй раз, тогда пользователь показывает активность подтверждения в андроиде на самом деле. В моем случае, когда пользователь открывает приложение второй раз, тогда появляется экран заставки, но я хочу подтверждение активности. @Anshuman Agrawal –

+0

@Richa использует SharedPreferences и проверяет, открывается ли пользователь при первом запуске приложения или нет в 'onCreate()' вашего заставки перед вызовом 'setContentView()'. если не открыть операцию подтверждения и завершить всплеск и возврат. Опубликовать некоторый код, который мы можем просмотреть и изменить – Prashant

+0

, можете ли вы предоставить некоторую структуру исходного кода, пожалуйста @Prashant –

0

Вы можете использовать SharedPreferences или файл или базу данных для исторических данных пользователя и проверить, если пользователь выполняет свои критерии. Тогда вы можете позволить ему перейти от одного занятия к другому. Проверьте эти ссылки SharedPreferences Totorial

SQLite & Content Providers

0

Для первой сцены:

Вы должны установить флаг, т.е. isUserLoggedIn в настройках, которые по умолчанию будут ложными. После входа в систему установите для этого флага значение true. В LoginActivityonCreate(), отметьте этот флаг из настроек, если он верно завершит действие и запустится confirmationActivity иначе ничего не делать.

Для второй сцены:

Здесь вы можете также сохранить флаг isUserConfirmed же, как для входа в систему. И вы можете отправить уведомление от сервера пользователю, после получения уведомления обновите флаг до значения true. И включите кнопку на ConfirmationActivity, если действие находится на переднем плане.