我在Android应用程序中处理facebook sdk。我在这里做的是,当用户按下应用程序图标时,用户将首先在我的应用程序中看到通过Facebook登录的按钮。当用户登录此登录按钮时,用户将被定向到Facebook登录屏幕,用户必须输入用户名和密码。成功登录后,用户将被定向到第二个活动。现在,我想要的是,当用户按下主页按钮或后退按钮后再使用应用程序,然后再按下应用程序的图标,则不应将用户定向到具有登录按钮的第一个活动,而应将用户定向到第二个活动app,会话打开。这种情况应该保持直到用户注销。我怎么能这样做?
答案 0 :(得分:1)
通过向应用程序添加splashActivity,您可以获得解决方案..... splashActivity必须是启动器活动,并且在splashActivity的OnCreate方法中,您可以检查如果Facebook会话有效,则重定向到第二个活动,否则调用第一个活动.... / p>
答案 1 :(得分:1)
我认为您应该根据自己的需要使用偏好。使用一个标记为'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.
}
}
}
希望它会对你有所帮助。
答案 2 :(得分:0)
我对Facebook SDK并不熟悉,但这是解决此类问题的常用方法:
Intent
。注意:注意加密文件。
答案 3 :(得分:0)
最后,找到了解决方案......工作......
@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
{
}
}