Я бы создал сообщение с фотографией и заголовком в своем приложении и разместил его на моем facebook. Я не знаю точно, какие шаги необходимы, поэтому я не знаю, что я делаю неправильно. Основное действие имеет в своем xml LoginButton и ShareButton. я сделал:Сообщение facebook android
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
public DBhelper database;
public CallbackManager callbackManager;
public ShareDialog shareDialog;
public ShareButton shareButton;
public SharePhotoContent sharePhotoContent;
}
этого класса:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareButton=new ShareButton(this);
setContentView(R.layout.activity_main);
LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("user_friends","public_profile");
get_login_details(loginButton);
shareButton=(ShareButton) findViewById(R.id.share_button);
sharePhotoContent=genera_share_photo_content();
shareButton.setShareContent(sharePhotoContent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode,resultCode,data);
Log.e(TAG,data.toString());
}
И эти два метода:
protected void get_login_details(LoginButton loginButton) {
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
Toast.makeText(getApplicationContext(),"SI",Toast.LENGTH_LONG).show();
}
@Override
public void onCancel() {
// App code
Toast.makeText(getApplicationContext(),"CANCEL",Toast.LENGTH_LONG).show();
}
@Override
public void onError(FacebookException exception) {
// App code
Toast.makeText(getApplicationContext(),"NO",Toast.LENGTH_LONG).show();
}
});
}
public SharePhotoContent genera_share_photo_content() {
//code...
Bitmap image = ...
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(image)
.build();
SharePhotoContent content = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
return content;
}
Теперь, содержание доли цветовой в начале: я бы сделать его динамическим, используя genera_share_photo_content()
: как я могу изменить его, когда я хочу? Должен ли я позвонить где-нибудь shareDialog.show(content)
или ShareApi.share(content,null)
? Это разрешение user_friends
и public_profile
, которое я установил для кнопки входа. достаточно, чтобы все работало?
Как я могу добавить это разрешение? Использование LoginButton.setReadPermission() или LoginButonn.setPublishPermissions()? – SctALE
замените эту строку в вашем коде: 'loginButton.setReadPermissions (« user_friends »,« public_profile »);' с 'loginButton.setReadPermissions (" publish_actions ");' – Ashwani
прочитайте этот блог, это поможет вам понять: http: // simpledeveloper.com/how-to-share-an-image-on-facebook-in-android/ – Ashwani