指定要动态启动的 activity
Specifying which activity to launch dynamically
我正在开发一个聊天应用程序。
登录后,用户下次启动应用程序时应导航到主页面。与 WhatsApp 一样,它没有启动画面。那么,我在哪里检查用户下次是否已登录? 如果用户已经登录,我不想再次启动登录屏幕。
我可以在第一次启动服务或其他东西时检查接下来显示的是哪个 activity 吗?
使用 Shared Preference 获取商店登录详细信息,如果用户已登录,请在 Main 或 loginActivity 中执行您想要的操作,否则打印 alert/Toast 首先登录。
始终先打开 LoginActivity。当用户登录时,将确定用户当前登录会话的唯一令牌存储在共享首选项中。并在用户注销时删除令牌。
因此,每当用户打开应用程序时,检查登录 activity,如果令牌存在,将用户带到主 activity,如果不存在,则留在登录 activity.
也许您可以创建一个空的 activity 来扩展 Activity(不是 AppCompatActivity)并在那里执行逻辑,因为我们无法直接启动服务。
您不需要在那里调用 setContentView。所以不需要布局文件。将此添加到您的清单 android:theme="@android:style/Theme.NoDisplay"
你可以这样用;
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);
将此代码放入您的主程序中 activity。
或者您可以根据条件加载不同的布局,但您必须将所有登录 activity 视图放在主 activity.
中
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);
我正在开发一个聊天应用程序。
登录后,用户下次启动应用程序时应导航到主页面。与 WhatsApp 一样,它没有启动画面。那么,我在哪里检查用户下次是否已登录? 如果用户已经登录,我不想再次启动登录屏幕。
我可以在第一次启动服务或其他东西时检查接下来显示的是哪个 activity 吗?
使用 Shared Preference 获取商店登录详细信息,如果用户已登录,请在 Main 或 loginActivity 中执行您想要的操作,否则打印 alert/Toast 首先登录。
始终先打开 LoginActivity。当用户登录时,将确定用户当前登录会话的唯一令牌存储在共享首选项中。并在用户注销时删除令牌。 因此,每当用户打开应用程序时,检查登录 activity,如果令牌存在,将用户带到主 activity,如果不存在,则留在登录 activity.
也许您可以创建一个空的 activity 来扩展 Activity(不是 AppCompatActivity)并在那里执行逻辑,因为我们无法直接启动服务。
您不需要在那里调用 setContentView。所以不需要布局文件。将此添加到您的清单 android:theme="@android:style/Theme.NoDisplay"
你可以这样用;
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);
将此代码放入您的主程序中 activity。
或者您可以根据条件加载不同的布局,但您必须将所有登录 activity 视图放在主 activity.
中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);