2017-02-11 1 views
0

Dans mon application Android, lorsque l'utilisateur s'est connecté avec succès avec Facebook et Google Plus, l'utilisateur a une activité de confirmation qui a le bouton suivant en mode désactivé. Bien que, admin sera activer l'utilisateur de la base de données. Si l'utilisateur sera activé à partir de la base de données par l'administrateur, l'activité de confirmation et le bouton suivant seront activés et l'utilisateur pourra passer à l'activité suivante. Lorsque l'utilisateur ouvre l'application une seconde fois, l'utilisateur peut afficher l'activité de confirmation.Démarrer l'application avec la deuxième activité

Je ne sais pas, comment appliquer cette logique:

Scénario:

Première scène:

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

Deuxième scène:

ConfirmationActivty->Next button enable 
+0

Pouvez-vous ajouter une partie de votre code. Ce que vous demandez est assez simple, mais j'ai besoin de savoir comment vous le construisez – Stefan

+0

Non parce que je n'ai aucune logique Je veux logique pour le deuxième écran comment ouvrir le deuxième écran lorsque l'utilisateur clique sur la deuxième fois, puis l'utilisateur sera en mesure de voir deuxième écran dans [email protected] –

Répondre

0

En supposant SplashActivity.java est votre activité principale

Changer votre code comme indiqué ci-dessous

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

Merci, je résous mon problème @Prashant –

0

Vous pouvez régler la visibilité du bouton "next" sur "GONE" et m Faites un appel réseau en arrière-plan à votre serveur pour vérifier si l'administrateur a approuvé ou non. Si elle est approuvée, vous pouvez définir la visibilité du bouton sur "VISIBLE". Et pendant l'appel réseau, vous pouvez démarrer une boîte de dialogue de progression. Cliquez sur here pour voir comment utiliser la visibilité.

[Mise à jour ] vous pouvez utiliser quelque chose comme:

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

J'applique cette logique c'est le travail parfait mais quand l'utilisateur ouvre l'application deuxième fois alors l'utilisateur montre l'activité de confirmation dans android réellement, Dans mon cas quand l'utilisateur ouvre l'application deuxième fois alors écran splash est disponible mais je veux l'activité de confirmation. @Anshuman Agrawal –

+0

@Richa utilise SharedPreferences et vérifie si l'utilisateur ouvre votre application pour la première fois ou non dans 'onCreate()' de votre écran de démarrage avant d'appeler 'setContentView()'. si non ouvert Confirmation Activité et fin Splash et retour. Post un peu de code, nous pouvons examiner et changer – Prashant

+0

pouvez-vous fournir une structure de code source s'il vous plaît @Prashant –

0

Vous pouvez utiliser SharedPreferences ou un fichier ou base de données pour les données de l'historique de l'utilisateur et vérifier si l'utilisateur répond à vos critères. Ensuite, vous pouvez le laisser passer d'une activité à une autre. Vérifiez ces liens SharedPreferences Totorial

SQLite & Content Providers

0

Pour Première Scène:

Vous devez définir drapeau ie isUserLoggedIn dans les préférences qui sera faux par défaut. Une fois l'utilisateur connecté, définissez ce drapeau sur true. Dans LoginActivityonCreate(), vérifiez ce drapeau à partir des préférences, s'il est vrai terminer l'activité et commencer confirmationActivity sinon ne rien faire.

pour la deuxième scène:

Ici, vous pouvez aussi maintenir le drapeau isUserConfirmed même que pour la connexion. Et vous pouvez envoyer une notification du serveur à l'utilisateur, après avoir reçu la notification mettre à jour l'indicateur à true. Et activez le bouton sur ConfirmationActivity si l'activité est au premier plan.