为什么我无法在使用此代码发布图像之前看到应用程序的屏幕允许访问Facebook照片帖子?

时间:2011-12-19 07:42:15

标签: android facebook facebook-graph-api android-layout android-widget

在我的应用程序中,我使用下面的代码来升级照片。

虽然我正在取消应用程序并重新安装应用程序并在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);       
} 

1 个答案:

答案 0 :(得分:1)

一个坚定的猜测:因为你已经允许这个应用程序(应用程序ID),所以你只需登录你的facebook accout - 转到你的应用程序并删除该应用程序。所以下次会问。

你尝试了另一个unm和pwd然后它也没有正常显示?那么我现在没有解决方案......必须要搜索...但同时你可以做一件事,利用另一个app id或unm / pwd并检查你的代码!

然后解决你的错误(我猜是因为没有得到这样的问题)..虽然登录窗口出现是来自Facebook默认应用程序..所以这一切都发生..删除和打电话给您自己的弹出式对话框,请参阅 My Answer Here

感谢。