在我的应用程序中,我使用下面的代码来升级照片。
虽然我正在取消应用程序并重新安装应用程序并在Facebook上发布照片,并且如果faceboook id是新的,那么它会给我应用程序允许访问的屏幕。 但是有一段时间它没有给我那个屏幕。我不知道它的问题是什么。
请查看代码并告诉我Sollution。 为什么我无法获得应用程序允许访问屏幕。 感谢。
守则是:
// For Facebook ===================================
Button facebookButton = (Button) saveButtonDialog.findViewById(R.id.facebook);
facebookButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveButtonDialog.dismiss();
saveImageFunction(); // to save the Image
facebook.authorize(TWSBIDrawMainActivity.this, new String[]{ "user_photos,publish_checkins,publish_actions,publish_stream"},new DialogListener() {
@Override
public void onComplete(Bundle values) {
postImageonWall();
Toast.makeText(getApplicationContext(), "Image Posted on Facebook.", Toast.LENGTH_SHORT).show();
//File f = new File(APP_FILE_PATH + "/"+filename+".jpg");
//f.delete();
}
@Override
public void onFacebookError(FacebookError error) {
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
});
}
});
public void postImageonWall() {
byte[] data = null;
Bitmap bi = BitmapFactory.decodeFile(APP_FILE_PATH + "/"+filename+".jpg");
//Bitmap bi = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
Bundle params = new Bundle();
params.putString(Facebook.TOKEN, facebook.getAccessToken());
params.putString("method", "photos.upload");
params.putByteArray("picture", data);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null);
}
答案 0 :(得分:1)
一个坚定的猜测:因为你已经允许这个应用程序(应用程序ID),所以你只需登录你的facebook accout - 转到你的应用程序并删除该应用程序。所以下次会问。
你尝试了另一个unm和pwd然后它也没有正常显示?那么我现在没有解决方案......必须要搜索...但同时你可以做一件事,利用另一个app id或unm / pwd并检查你的代码!
然后解决你的错误(我猜是因为没有得到这样的问题)..虽然登录窗口出现是来自Facebook默认应用程序..所以这一切都发生..删除和打电话给您自己的弹出式对话框,请参阅 My Answer Here 。
感谢。