用第二个活动开始申请

时间:2017-02-11 12:14:14

标签: android android-activity

在我的Android应用程序中,当用户成功登录Facebook和Google Plus时,用户有一个确认活动,其中有下一个按钮处于禁用模式。同时,admin将从数据库启用用户。如果用户将通过管理员从数据库启用,则将启用确认活动和下一个按钮,用户可以移至下一个活动。当用户第二次打开应用程序时,用户将能够显示确认活动。

我不知道如何应用这个逻辑:

情境:

第一幕:

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

第二场景:

ConfirmationActivty->Next button enable

4 个答案:

答案 0 :(得分:0)

您可以设置" next"的可见性按钮到" GONE"并在后台向您的服务器进行网络呼叫,以检查管理员是否已批准。如果获得批准,您可以将按钮的可见性设置为" VISIBLE"。在网络通话期间,您可以启动进度对话框。点击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);


    }

答案 1 :(得分:0)

您可以将SharedPreferences或文件或数据库用于用户的历史数据,并检查用户是否符合您的条件。然后你可以让他从一个活动转移到另一个活动。检查这些链接 SharedPreferences Totorial

SQLite & Content Providers

答案 2 :(得分: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()`
    }
}

答案 3 :(得分:0)

第一场景:

您应该在首选项中设置标志isUserLoggedIn,默认情况下为false。 用户登录后,将此标志设置为true。 在LoginActivity onCreate()中,检查首选项中的该标志,如果为真,则完成活动并启动confirmationActivity否则不执行任何操作。

第二场景:

在这里,您还可以保持与登录相同的标志isUserConfirmed。并且您可以在收到通知后将服务器发送给用户,将标志更新为true。如果活动位于前台,请启用ConfirmationActivity上的按钮。