Я работаю над проектом, где мне нужно загрузить фотографии из приложения 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) {...}
}