我正在开发一个聊天应用程序。
登录后,用户应在下次启动应用时导航到主页面。像WhatsApp一样,它没有启动画面。那么,我在哪里检查用户是否已登录? 如果用户已登录,我不想再次启动登录屏幕。
我可以在第一时间启动服务或其他内容,以便检查下一个显示的活动吗?
答案 0 :(得分:0)
使用共享首选项来存储商店登录详细信息,如果用户登录,请执行主要或loginActivity,然后执行其他明智的打印提醒/ Toast登录。
答案 1 :(得分:0)
始终首先打开LoginActivity。用户登录时,将用于确定用户当前登录会话的唯一标记存储在共享首选项中。并在用户注销时删除令牌。 因此,每当用户打开应用程序时,检查登录活动,如果存在令牌,则将用户带到主要活动,如果不存在,则保持登录活动。
答案 2 :(得分:0)
可能你可以创建一个扩展Activity(不是AppCompatActivity)的空活动,并在那里执行逻辑,因为我们无法直接启动服务。
您无需在那里调用setContentView。因此不需要布局文件。在您的清单android:theme="@android:style/Theme.NoDisplay"
答案 3 :(得分: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);