首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android活动流(登录或注册并返回家园)

Android活动流(登录或注册并返回家园)
EN

Stack Overflow用户
提问于 2013-12-02 17:58:47
回答 3查看 5.6K关注 0票数 4

我正在构建一个需要用户身份验证的应用程序。用户第一次打开应用程序时,应该登录或注册,以继续到加载一些帖子的应用程序的主屏幕上。

我应该提到,主屏幕应该是一个FragmentActivity,允许用户在2-3个选项卡之间导航。这意味着我应该有另一个活动(用于登录屏幕或注册),以允许用户在以后继续回家。

代码语言:javascript
复制
MainActivity
    |
    |
    --> Check If user logged in
              |       |
              |       |
              |       --> Start Login Activity (Or Register From Here)
              |
              --> Start Home Activity (FragmentActivity with 2-3 tabs-fragments)

现在,在主要活动中,如果用户已经登录,我将检查共享首选项,如果用户尚未登录,则启动FragmentActivity或登录活动。

我不知道这是否是一个问题,但当这两个活动之一已经开始时,如果我按下,它会出现在一个空白的屏幕上,什么都不会发生。看起来很有逻辑,因为这是MainActivity和它的实际空白。我只有一个if声明,以便继续进行适当的活动。

这是一个很好的方法,还是我应该用另一种方式来开发?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-02 18:09:51

您可以在导航到主/登录屏幕前完成您的主要活动:

代码语言:javascript
复制
Intent intent=new Intent(this,Home.class);
startActivity(intent);
finish();

通过这样做,如果用户按下登录或主页上的后退按钮,空白页将不可见。

此外,您也可以使用您的主要活动作为启动屏幕,在这里您显示一些图像,并在后台决定去登录/家庭活动。

票数 6
EN

Stack Overflow用户

发布于 2013-12-02 18:14:36

如果您希望您将登录屏幕作为对话框,这可能对您有帮助。为了创建登录对话框,您可以使用下面的代码。

代码语言:javascript
复制
// Create Object of Dialog class
final Dialog login = new Dialog(this);
// Set GUI of login screen
login.setContentView(R.layout.login_dialog);
login.setTitle("Login to Pulse 7");

// Init button of login GUI
Button btnLogin = (Button) login.findViewById(R.id.btnLogin);
Button btnCancel = (Button) login.findViewById(R.id.btnCancel);

 // Attached listener for login GUI button
 btnLogin.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(Pulse7LoginDialogActivity.this,
               "Login Sucessfull", Toast.LENGTH_LONG).show();
   }
});
btnCancel.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
       login.dismiss();
   }
 });

 // Make dialog box visible.
 login.show();
票数 0
EN

Stack Overflow用户

发布于 2014-08-21 04:56:11

这段代码可以用来..。

代码语言:javascript
复制
      Intent intent=new Intent(this,Home.class);
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
      startActivity(intent);
      finish();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20334779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档