我在android上实现facebook post时遇到了一些问题。我试图以这样一种方式实现它,当我点击一个按钮时,它会自动发布到用户墙上。首先,我不知道在哪里保存用户登录信息,或者facebook api已经处理过了吗?最重要的是,我尝试了一些示例代码,我在授权facebookClient方面遇到了问题。
private Button.OnClickListener myButtonOnClickListener = new Button.OnClickListener (){
@Override
// on click load the asynctask to run.
public void onClick(View arg0) {
facebookClient = new Facebook(APP_ID);
facebookAsync = new AsyncFacebookRunner(facebookClient);
if (facebookClient.isSessionValid()) {
uploadVideoFile();
}
else {
facebookClient.authorize(this, new String[] {"publish_stream"}, new Facebook.DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
(RESULT_CANCELED);
}
@Override
public void onError(DialogError e) {
(RESULT_CANCELED);
}
@Override
public void onComplete(Bundle values) {
uploadVideoFile();
}
@Override
public void onCancel() {
(RESULT_CANCELED);
}
});
}
};
在
上facebookClient.authorize(this, new String[] {"publish_stream"}, new Facebook.DialogListener()
它告诉我
The method authorize(Activity, String[], Facebook.DialogListener) in the type Facebook is not applicable for the arguments (new View.OnClickListener(){}, String[], new Facebook.DialogListener(){}).
我对此感到困惑和困惑,请任何帮助就足够了。
答案 0 :(得分:0)
那是因为传递给authorize()方法的this
是Activity的实例。尝试将其替换为onClickListener的名称,该名称应为myButtonOnClickListener