Intereting Posts
Ошибка Gradle с проектом Android, добавленным в виде библиотеки (SlidingMenu) Android java.lang.IllegalMonitorStateException: объект не заблокирован потоком перед ожиданием () Как установить максимальную высоту макета в android? Возврат данных из пользовательского диалога Ошибка приложения Android Studio Wear – невозможно открыть PNG Поддерживает ли Android NDK ускорение отправки больших int поверх сокетов? Расширенная реальность в андроиде Использование Twitter4j в android, получение ошибки lint в библиотеке – Недопустимая ссылка на пакет в библиотеке Правильно загружать 24-битные растровые данные в 32-битный объект Bitmap Как перенести приложение на передний план при нажатии на значок уведомления (из Сервиса)? Локализация файлов активов Эмулирующая плотность 320 dpi на эмуляторе Android Как отклонить DialogFragment при нажатии вне диалогового окна? Как сделать хорошо закодированный заставку Android: увеличение области DB через ContentValues

Отправить личное сообщение моим друзьям с помощью myroid-приложения

Я разрабатываю приложение, в котором пользователь может делиться сообщениями со своими друзьями на Facebook. Я использую Facebook API для Android. Я могу проверить подлинность пользователя, а также получить список друзей в качестве пользователя Facebook, а также опубликовать сообщение на стене, но я ищу для отправки личного сообщения своим друзьям, и я не получил никакого решения для этого, поэтому Может ли любой орган помочь мне, как я могу достичь …

заранее спасибо

С наилучшими пожеланиями

Невозможно отправлять личные сообщения от имени пользователя, используя график api.

Однако вы должны использовать Диалог отправки , хотя я не пробовал его на Android, но это должно быть что-то вроде:

Bundle params = new Bundle(); params.putString("to", "USER_ID"); params.putString("name", "TITLE HERE"); params.putString("link", "A URL"); // this link param is required facebook.dialog(context, "send", params, new DialogListener() { @Override public void onComplete(Bundle values) { .... } @Override public void onFacebookError(FacebookError error) {} @Override public void onError(DialogError e) {} @Override public void onCancel() {} }); 

Другим подходом, который вы можете использовать, является API чата, с помощью которого вы можете отправлять сообщения от имени пользователя, для этого требуется разрешение xmpp_login и вы должны реализовать клиент xmpp.


редактировать

Поскольку этот диалог еще не поддерживается в Android, у вас есть 3 варианта:

  1. Подождите, пока в facebook появится диалоговое окно для Android.
  2. Попробуйте открыть диалоговое окно в браузере (URL-адрес, который находится в документах) на мобильном устройстве.
  3. Попросите xmpp_login и добавьте клиент xmpp (т. Е. Asmack ), и с этим вы можете реализовать свое собственное диалоговое окно «Отправить сообщение».

Последние Android SDK функции теперь (частный) Диалог сообщений
https://developers.facebook.com/docs/android/message-dialog/

Вы можете использовать MessengerUtils для отправки сообщения с вложениями.

Введите описание изображения здесь

Вы можете отправить вложение со следующими типами mime:

Введите описание изображения здесь

Пример кода для отправки изображения выглядит следующим образом:

 String mimeType = "image/jpeg"; // contentUri points to the content being shared to Messenger ShareToMessengerParams shareToMessengerParams = ShareToMessengerParams.newBuilder(contentUri, mimeType) .build(); // Sharing from an Activity MessengerUtils.shareToMessenger( this, REQUEST_CODE_SHARE_TO_MESSENGER, shareToMessengerParams); 

Введите описание изображения здесь

Дополнительная документация находится на https://developers.facebook.com/docs/messenger/android

Можно отправить личное сообщение facebook, используя приведенный ниже код.

 if (isPackageExisted("com.facebook.orca")) { Uri uri = Uri.parse("fb-messenger://user/"); uri = ContentUris.withAppendedId(uri, Long.parseLong("Enter user id here")); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } else { Toast.makeText(this, "Please install facebook messenger", Toast.LENGTH_LONG).show(); } } 

Проверка Facebook Messenger устанавливается или нет

  public boolean isPackageExisted(String targetPackage) { PackageManager pm = getPackageManager(); try { PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { return false; } return true; }