指定要动态启动的活动

问题描述 投票:-3回答:4

我正在开发一个聊天应用程序。

登录后,用户应在下次启动应用程序时导航到主页面。像WhatsApp一样,它没有启动画面。那么,我在哪里检查用户是否已登录?如果用户已经登录,我不想再次启动登录屏幕。

我可以在第一时间启动服务或其他内容,以便检查下一个显示的活动吗?

android android-activity service launcher
4个回答
0
投票

也许你可以创建一个空活动,它扩展Activity(不是AppCompatActivity)并在那里做逻辑,因为我们无法直接启动服务。

您不需要在那里调用setContentView。因此不需要布局文件。在你的清单android:theme="@android:style/Theme.NoDisplay"中添加它


0
投票

如果用户登录,请执行您想要的其他明智的打印警报/ Toast登录,请使用共享首选项来存储登录详细信息并检入Main或loginActivity。


0
投票

始终首先打开LoginActivity。用户登录时,将用于确定用户当前登录会话的唯一标记存储在共享首选项中。并在用户注销时删除令牌。因此,每当用户打开应用程序时,检查登录活动,如果存在令牌,则将用户带到主要活动,如果不存在,则保持登录活动。


0
投票

你可以像使用它一样;

final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            if (isLoggedIn-> you can check if user is logged in or not here )
               load your main activity
        else
               load login activity
        }
    }, 100);

将此代码放在主要活动中。

或者您可以根据条件加载不同的布局,但必须将所有登录活动视图放在主要活动中。

final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            if (isLoggedIn)
                setContentView(R.layout.activity_main);
        else
                setContentView(R.layout.activity_main2);

        }
    }, 100);
© www.soinside.com 2019 - 2024. All rights reserved.