Я применил диалог обмена Facebook в своем приложении с SDK Facebook.Совместное использование работает, но ответ не запускается.
Вот код в OnCreateView для вызова Facebook callbackmanager после нажатия кнопки в адаптере.
mAdapter.SetOnShareClickListener(new PostListAdapter.OnShareClickListener() {
@Override
public void onItemClick(View view, int position, Post obj) {
//create callback
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Toast.makeText(getContext(), "Share Successful!", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
Toast.makeText(getContext(), "Opz...Share cancel!", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException error) {
Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
Picasso.with(getContext()).load(obj.getThumbnail()).into(target);
}
});
Вот код для результата активности
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == PICK_IMAGE_REQUEST && data != null && data.getData() != null) {
Bitmap image = null;
try {
image = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(image)
.build();
if (ShareDialog.canShow(SharePhotoContent.class)) {
SharePhotoContent sharePhotoContent = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
shareDialog.show(sharePhotoContent);
}
}
}
}