Android Facebook上的好友墙链接有问题
我正试图使用下面的代码在朋友的墙上发帖,这些代码是我从他们的教程中获取的。我已经实现了所有的生命周期方法,但不清楚发生了什么 情景: 我有一个活动和一个片段绑定到facebook登录-->我在此设置中请求读取权限,并使用从facebook获得的相关信息填充数据库 现在我有了一个选项卡设置,它有一个不同的MainActivity和子片段,其中两个子元素包含ListView,该列表的每一行都与不同的Facebook好友ID关联。在该列表中facebook_post按钮的clikc上,我使用以下功能在facebook好友墙上发布:Android Facebook上的好友墙链接有问题,android,facebook-android-sdk,android-facebook,Android,Facebook Android Sdk,Android Facebook,我正试图使用下面的代码在朋友的墙上发帖,这些代码是我从他们的教程中获取的。我已经实现了所有的生命周期方法,但不清楚发生了什么 情景: 我有一个活动和一个片段绑定到facebook登录-->我在此设置中请求读取权限,并使用从facebook获得的相关信息填充数据库 现在我有了一个选项卡设置,它有一个不同的MainActivity和子片段,其中两个子元素包含ListView,该列表的每一行都与不同的Facebook好友ID关联。在该列表中facebook_post按钮的clikc上,我使用以下功能在
if (isNetworkConnected()) {
Session session = Session.getActiveSession();
if (session != null) {
if(isLoggedIn()){
Toast.makeText(getActivity(),"Session not null and logged in", Toast.LENGTH_LONG).show();
if (hasPublishPermission()) {
System.out.println("Has publish");
Toast.makeText(getActivity(),"Session not null and logged in and publish too", Toast.LENGTH_LONG).show();
Bundle params = new Bundle();
params.putString("name", "Digital");
params.putString("link", "http://www.digitals.com/");
params.putString("picture","http://www.exar.com/images/frontend/logo.png");
params.putString("to", FACEBOOK_ID);
params.putString("caption", "Congrulations!");
params.putString("description", textGreeting);
params.putString("message", "message");
WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(
getActivity(), Session.openActiveSessionFromCache(getActivity()),
params)).setOnCompleteListener(
new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
// frag3.setFbId(null);
// ---------------------------- got to put
// check here
// onBackPressed();
}
}).build();
feedDialog.show();
} else if (session.isOpened()) {
// We need to get new permissions, then complete the action
if (!hasPublishPermission())
session.requestNewPublishPermissions(new Session.NewPermissionsRequest(getActivity(), PERMISSION));
Bundle params = new Bundle();
params.putString("name", "Digital");
params.putString("link", "http://www.digitals.com/");
params.putString("picture","http://www.exareceipts.com/images/frontend/logo.png");
params.putString("to", FACEBOOK_ID);
params.putString("caption", "Congrulations!");
params.putString("description", textGreeting);
params.putString("message", "message");
WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(
getActivity(), Session.getActiveSession(),
params)).setOnCompleteListener(
new OnCompleteListener() {
@Override
public void onComplete(Bundle values,FacebookException error) {
// frag3.setFbId(null);
// ---------------------------- got to put
// check here
//onBackPressed();
}
}).build();
feedDialog.show();
}
}else{
Toast.makeText(getActivity(),"Please check if you are logged in", Toast.LENGTH_LONG).show();
mainFrag.setParam(1);
Intent mainIntent;
mainIntent = new Intent(getActivity(),FacebookMain.class);
getActivity().startActivity(mainIntent);
}
}
} else {
Toast.makeText(getActivity(),"Please check your internet connection", Toast.LENGTH_LONG).show();
}
}catch (Exception e){
System.out.println("Exception post fb: " +e);
Toast.makeText(getActivity(), "first construct"+e, Toast.LENGTH_SHORT).show();
}
这是我的isLoggedIn函数:
public boolean isLoggedIn() {
Session session = Session.getActiveSession();
if (session != null && session.isOpened()) {
return true;
} else {
return false;
}
}
以下是我的生命周期方法(在当前片段中):
在onCreate中:
uiHelper = new UiLifecycleHelper(getActivity(), callback);
uiHelper.onCreate(savedInstanceState);
//===============================================
Session.openActiveSessionFromCache(getActivity());
//================================================
然而,我得到了一个例外:
java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request
当我从手机上卸载FB应用程序以检查web对话框是否正常工作时,通常会发生上述情况。有什么想法吗 该错误通常意味着您正在进行权限请求,而另一个权限请求正在进行。如果看不到代码的完整流程,就不可能知道它发生在哪里
好消息是,因为您只使用提要对话框,所以不需要发布权限。您看到了吗?是的,我检查了,但是我遵循UiLifeCycleHelper模式,但对我来说还不够清楚!我想要一个活动的骨架,可以用来张贴在朋友的墙上。你好,李明,你能给我一个简单活动的例子,比如说一个我可以参考的骨架,或者一个链接吗?李明,你救了我的命!
java.lang.UnsupportedOperationException: Session: an attempt was made to request new permissions for a session that has a pending request