在我的Android应用程序中制作Facebook应用程序以实现共享功能时,我想问一个小小的混乱
用于打开应用的唯一应用标识符
您希望Facebook启动的主要活动
android facebook facebook-graph-api facebook-android-sdk socialshare
我可以登录我的应用程序然后分享一些东西.这需要一个OPENED会话状态.但是,当我没有登录时,我想分享一些东西,我需要打开会话.我正在使用ViewPager,例如当我从一个页面转到另一个页面时此代码
Session.openActiveSession(getActivity(), true, new StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
}
});
Run Code Online (Sandbox Code Playgroud)
在代码的开头,然后会话变为活动状态,我自动登录,这是错误的!这就是为什么我把这个代码块放到onClickListener中,所以我只想在我点击应用程序中的分享按钮时打开会话:
if (session != null && session.isOpened()) {
publishFeedDialog();
}
else {
Session.openActiveSession(getActivity(), true, new StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
}
});
publishFeedDialog();
}
private void publishFeedDialog() {
session = Session.getActiveSession();
Log.i("TAG", session.getState() + ""); //OPENING
WebDialog feedDialog = (
new WebDialog.FeedDialogBuilder(getActivity(),
Session.getActiveSession(),
params))
.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) { …Run Code Online (Sandbox Code Playgroud)