我正在处理我的Android应用程序中的Facebook SDK。我在这里做的是,当用户按下应用程序图标时,用户将首先在我的应用程序中看到通过Facebook登录的按钮。当用户点击此登录按钮时,用户将被引导至Facebook登录屏幕,用户必须输入用户名和密码。成功登录后,用户将被引导至第二个活动。现在,我想要的是,当用户按下home按钮或后退按钮后,再次按下应用程序的图标后,使用应用程序后,用户不应该被定向到具有Login按钮的第一个活动,而应该将用户定向到第二个活动应用程序,因为会话打开。这种情况应该保持直到用户注销。我怎样才能做到这一点?推出第二个活动
Q
推出第二个活动
0
A
回答
0
我不是那么熟悉Facebook的SDK,但是这是解决此类问题的常用方法:
- 当用户登录,拯救他的会话ID或任何Facebook的叫你回来。
- 将其保存到文件
- 当您的应用程序重新启动时,请查看该文件并尝试使用该会话ID发出简单的Facebook API调用。如果成功,开始新的
Intent
到您的第二个活动。 - 如果不是,继续第一个活动。
注意:注意加密文件。
1
通过添加splashActivity到您的应用程序,您可以得到解决方案..... splashActivity必须是启动器活动,并在splashActivity的OnCreate方法,您可以检查如果Facebook会话有效然后重定向到第二个活动,否则调用第一个活动....
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.
}
}
}
希望它会帮助你。
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
{
}
}
相关问题
- 1. 开始第二个活动时出错
- 2. 单击第二个活动时出错
- 3. 创建第二个活动
- 4. 推出不需要的第二项活动
- 5. 如何从第二个活动返回到第一个活动?
- 6. 从第一个活动传递给第二个活动
- 7. 无法从第二个活动切换到第一个活动
- 8. 完成第一个活动后开始第二个活动
- 9. NullPointerException启动包第二个活动
- 10. Android的活动组 - 第二活动始终显示第一个活动菜单
- 11. 从第二个活动开始的第一个活动的第二个标签片段
- 12. 接收第二个活动的响应
- 13. 获取第二个活动窗口vb.net
- 14. splashscreen和第二个活动返回
- 15. 在第二个活动中显示buttonCheckAnswer
- 16. 在Tabview中开始第二个活动
- 17. startActivityForResult没有开始第二个活动
- 18. 创建第二个活动的问题
- 19. 在android中的第二个活动
- 20. 第二活动不加载
- 21. onCreateView从第二活动
- 22. 当我返回第一个活动时,第二个活动的onCreate()函数不会在第二次调用
- 23. 如何将Arraylist从第一个活动传递到第二个活动?
- 24. 再次恢复第一个活动,而不是去第二个活动
- 25. 如何在第一个活动中接收第二个活动的意图
- 26. 将图像从第一个活动传递到第二个活动
- 27. 无法从android studio的第一个活动中打开第二个活动
- 28. Android:从第二个活动返回时在第一个活动中刷新ListView
- 29. 如何保存第二个活动的第一个活动的结果?
- 30. 如何在第一个活动中调用第二个活动值?
如何检查呢?意味着我必须在重新启动方法上编写此代码? –
你应该检查你的第一个活动。根据你的国旗传递意图。 – Andrain
但我不想每次都要进行第一次活动。如果会话打开并且用户按下应用程序图标,则应将其指向第二个活动 –