通过facebook sdk将带有描述的照片从android应用程序共享到facebook墙

通过facebook sdk将带有描述的照片从android应用程序共享到facebook墙,android,facebook,Android,Facebook,我想像“instagram”一样在facebook的墙上贴一张有描述的照片。我尝试了很多代码,但都没用,有人能帮我吗? 我从另一个活动连接到facebook,并将代币传递到另一个活动以发布照片,这是可以的,但发布操作不正确!! 我看到很多人在这个网站上谈论“异步任务”和侦听器 public void UploadFacebookPhoto(){ SharedPreferences prefs = getApplicationContext().getSharedPre

我想像“instagram”一样在facebook的墙上贴一张有描述的照片。我尝试了很多代码,但都没用,有人能帮我吗? 我从另一个活动连接到facebook,并将代币传递到另一个活动以发布照片,这是可以的,但发布操作不正确!! 我看到很多人在这个网站上谈论“异步任务”和侦听器

 public void UploadFacebookPhoto(){

            SharedPreferences prefs = getApplicationContext().getSharedPreferences("facebook", MODE_PRIVATE);
            String access_token = prefs.getString("access_token", null);
            long expires = prefs.getLong("access_expires", 0);
            fb.setAccessToken(access_token);
            fb.setAccessExpires(expires);

                if(access_token != null) {
                    fb.setAccessToken(access_token);
                    Toast.makeText(this, "facebook", Toast.LENGTH_SHORT).show();
                 }
                 if(expires != 0) {
                    fb.setAccessExpires(expires);
                    Toast.makeText(this, "facebook1", Toast.LENGTH_SHORT).show();
                 }
                 if (! fb.isSessionValid()) {
                    Toast.makeText(this, "facebook2", Toast.LENGTH_SHORT).show();
                 }
                 if (fb.isSessionValid()) {
                        Toast.makeText(this, "valid1", Toast.LENGTH_SHORT).show();
                   fb.authorize(HomeActivity.this, new String[]{ "publish_stream"},new DialogListener() {
                         @Override                     
                         public void onComplete(Bundle values) {
                             postToWall(values.getString(Facebook.TOKEN)); 
                             }                      
                         @Override                     
                         public void onFacebookError(FacebookError error) {
                         }                      
                         @Override                     
                         public void onError(DialogError e) {
                         }                      
                         @Override                     
                         public void onCancel() {

                         }                 
                     });
                 }
        }

       private void postToWall(String accessToken) {  

            Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.flower);
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
            byte[] data = stream.toByteArray();

            Bundle params = new Bundle();
            params.putString(Facebook.TOKEN, fb.getAccessToken());
            params.putString("caption", "flower");
            params.putByteArray("picture", data);
            try {
                fb.request("me/photos", params, "POST");

            } catch (FileNotFoundException fileNotFoundException) {
                Toast.makeText(HomeActivity.this,fileNotFoundException.getMessage(),Toast.LENGTH_LONG).show();
            } catch (MalformedURLException malformedURLException) {
                Toast.makeText(HomeActivity.this,malformedURLException.getMessage(),Toast.LENGTH_LONG).show();
            } catch (IOException ioException) {
                Toast.makeText(HomeActivity.this,ioException.getMessage(),Toast.LENGTH_LONG).show();
            }
        }//method

请提出具体问题。您尝试了什么代码?我添加了我的代码并解释了更多内容