Android 启动第二项活动
我正在android应用程序中处理facebook sdk。我在这里做的是,当用户按下应用程序的图标时,用户将首先在我的应用程序中看到通过Facebook登录的按钮。当用户点击此登录按钮时,用户将被引导到facebook登录屏幕,用户必须在其中输入用户名和密码。成功登录后,用户将被引导到第二个活动。现在,我想在这里是,在使用应用程序后,当用户按下home按钮或back按钮,然后再次按下应用程序的图标,那么用户不应该被引导到有登录按钮的第一个活动,而是应该被引导到应用程序的第二个活动,因为会话被打开。这种情况应该一直持续到用户注销。我该怎么做呢?我对Facebook SDK不太熟悉,但这是解决此类问题的常用方法:Android 启动第二项活动,android,facebook,facebook-login,Android,Facebook,Facebook Login,我正在android应用程序中处理facebook sdk。我在这里做的是,当用户按下应用程序的图标时,用户将首先在我的应用程序中看到通过Facebook登录的按钮。当用户点击此登录按钮时,用户将被引导到facebook登录屏幕,用户必须在其中输入用户名和密码。成功登录后,用户将被引导到第二个活动。现在,我想在这里是,在使用应用程序后,当用户按下home按钮或back按钮,然后再次按下应用程序的图标,那么用户不应该被引导到有登录按钮的第一个活动,而是应该被引导到应用程序的第二个活动,因为会话被打
Intent
注意:注意加密文件。将splashActivity添加到应用程序中,您可以获得解决方案…..splashActivity必须是启动器活动,在splashActivity的OnCreate方法中,您可以检查Facebook会话是否有效,然后重定向到第二个活动,否则调用第一个活动 我认为你应该对你想要的东西使用偏好。使用一个标志作为'Y'或'N'。当用户成功登录到您的应用程序时,将标志设置为“Y”,并且在注销之前不更改它。当用户单击注销按钮时,将标志值设置为“N”
- 最后,您必须检查您的首选项的值 开始活动
Context activityContext;
SessionManager objSessionManager;
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login_page);
activityContext = MainActivity.this;
objSessionManager = new SessionManager(activityContext); // My preference
if(objSessionManager.isLoggedIn()) // checking for flag
{
Intent i = new Intent(activityContext ,Your_Second_Activity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
finish();
}
else
{
// put your code here of First Activity that is Facebook login.
}
}
}
希望它能帮助你 最后,找到了解决方案……有效
@Override
protected void onResume() {
super.onResume();
Session session = Session.getActiveSession();
if (session != null && session.isOpened())
{
Intent in = new Intent(getBaseContext(), NextActivity.class);
startActivity(in);
}
else
{
}
}
你怎么能检查它?意味着我必须在重新启动方法上编写此代码?您应该检查您的第一个活动。根据您的标志传递意图。但我不希望每次都是第一个活动。如果会话打开且用户按下应用程序图标,则应指向第二个活动只需将这些条件放在setcontentview()下方oncreate方法中的mainactivity上即可;。我已经用它做了,它对我有用。你能提供一些相关的例子吗?