在我的应用程序中,我使用以下代码上传照片。
当我卸载应用程序并重新安装应用程序并在 facebook 上发布照片时,如果 faceboook id 是新的,那么它会显示应用程序允许访问。 但有时它没有给我那个屏幕。我不知道它有什么问题。
请查看代码并提供解决方案。 为什么我无法让应用程序允许访问屏幕。 谢谢。
代码是:
// 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);
}
最佳答案
可靠的猜测:这是因为您过去曾允许此应用程序(应用程序 ID),所以您只需登录您的 Facebook 帐户 - 转到您的应用程序并删除该应用程序。所以下次它会问。
您尝试了另一个 unm 和 pwd 然后它也没有正确显示?那么我现在没有解决方案..将不得不搜索那个...但与此同时你可以做一件事利用另一个应用程序 ID 或 unm/pwd 并检查你的代码!
然后解决您的错误(我猜是因为还没有遇到这样的问题)..当登录窗口出现时来自 facebook 默认应用程序..所以这一切问题都会发生..删除它并调用您自己的弹出对话框,请参阅 My Answer Here .
谢谢。
关于android - 为什么我在使用此代码发布图像之前看不到应用程序允许访问 facebook 照片发布的屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8558407/