2015-06-19 2 views
0

Я работаю над проектом, где мне нужно загрузить фотографии из приложения Android в facebook. Я установил Facebook SDK и сделал все, мне даже удалось загрузить статус и чертежи в facebook. Однако картина я принять перед загрузкой в ​​Facebook сохраняется в переменной битовой карты, и когда я пишу его в этой строке кода:Как загрузить растровое изображение в facebook с помощью BitmapFactory

"Bitmap image = BitmapFactory.decodeResource(getResources(), bitmap);" 

я получаю сообщение об ошибке:

Метод decodeResource (Ресурсы, ИНТ) в типе BitmapFactory является не применяется для аргументов (ресурсы, Bitmap)

есть в любом случае, чтобы решить эту проблему?
Вот весь код «я нашел его на сайте»:

public class AddRestaurantActivity extends FragmentActivity{ 


    private CallbackManager callbackManager; 
    private LoginManager loginManager; 


    private static final int CAMERA_REQUEST = 1888; 


    static String str_Camera_Photo_ImagePath = ""; 
    private static File f; 
    private static int Take_Photo = 2; 
    private static String str_randomnumber = ""; 
    static String str_Camera_Photo_ImageName = ""; 
    public static String str_SaveFolderName; 
    private static File wallpaperDirectory; 
    Bitmap bitmap; 
    int storeposition = 0; 
    public static GridView gridview; 
    public static ImageView imageView; 
    Bitmap faceView; 
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_add_restaurant); 
     this.imageView = (ImageView)this.findViewById(R.id.imageView1); 
     Button photoButton = (Button) this.findViewById(R.id.button1); 

     photoButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) 
      { 

       str_SaveFolderName = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/FastFood"; 
       str_randomnumber = String.valueOf(nextSessionId()); 
       wallpaperDirectory = new File(str_SaveFolderName); 
       if (!wallpaperDirectory.exists()) 
        wallpaperDirectory.mkdirs(); 
       str_Camera_Photo_ImageName = str_randomnumber + ".jpg"; 

       str_Camera_Photo_ImagePath = str_SaveFolderName + "/" + str_randomnumber + ".jpg"; 

       System.err.println("str_Camera_Photo_ImagePath " + str_Camera_Photo_ImagePath); 

       f = new File(str_Camera_Photo_ImagePath); 
       startActivityForResult(new Intent(
         MediaStore.ACTION_IMAGE_CAPTURE).putExtra(
           MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)), 
           Take_Photo); 
       System.err.println("f " + f); 
      } 
     }); 
    } 

    //Clickable Button 
    public void gotoShare(View v) 
    { 
     Bitmap image = BitmapFactory.decodeResource(getResources(), faceView); 
     SharePhoto photo = new SharePhoto.Builder() 
     .setBitmap(image) 
     .setCaption("Semi Final") 
     .build(); 

     SharePhotoContent content = new SharePhotoContent.Builder() 
     .addPhoto(photo) 
     .build(); 

     ShareApi.share(content, null); 
    } 

    // used to create randon numbers 
    public String nextSessionId() { 
     SecureRandom random = new SecureRandom(); 
     return new BigInteger(130, random).toString(32); 
    } 


    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == Take_Photo) { 
      String filePath = null; 

      filePath = str_Camera_Photo_ImagePath; 
      if (filePath != null) { 
       faceView = (new_decode(new File(filePath))); 
       imageView.setImageBitmap(faceView); 
      } else { 
       bitmap = null; 
      } 
     } 
    } 


    public static Bitmap new_decode(File f) {...} 
} 

ответ

0

Новый код внутри метода gotoShare установил его:

public void gotoShare(View v) 
{ 
//Bitmap image = BitmapFactory.decodeResource(getResources(), 
R.drawable.ic_launcher); 
Bitmap image = faceView; 
SharePhoto photo = new 
SharePhoto.Builder().setBitmap(image).setCaption("Semi Final").build(); 
SharePhotoContent content = new 
SharePhotoContent.Builder().addPhoto(photo).build(); 
ShareApi.share(content, null); 
} 
Смежные вопросы