Диалоговое окно общего доступа к Facebook не работает в устройствах MI

ShareLinkContent code

ShareLinkContent content = new ShareLinkContent.Builder()
                        .setContentUrl(Uri.parse(shareUrl))
                        .setContentTitle(shareTitle)
                        .build();

Поделиться кодами Dialog, которые я пробовал

а. Использование объекта Share Dialog

ShareDialog dialog = new ShareDialog(this);
dialog.show(content, ShareDialog.Mode.AUTOMATIC); //tried other 4 modes too

б. Использование статического доступа

ShareDialog.show(this, content);

Теперь проблема в том, что он отлично работает во всех обычных телефонах, таких как Motorola, Samsung, Pixel, Lenovo.

Но тот же код вызывает странное поведение на устройствах Redmi. Когда я нажимаю кнопку, которая вызывает этот код, появляется диалоговое окно клавиатуры и общего доступа, остается там в течение нескольких миллисекунд и затем исчезает.

Я должен что-то особенное, чтобы обрабатывать диалоги Facebook в устройствах MI?

Существует возможность создания настраиваемого диалогового окна, но я хочу оставить его в качестве последнего варианта.

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

То же самое происходит и с кнопкой "Нравится" на Facebook.

Вот код для кнопки "Мне нравится" на Facebook

facebookLikeView.setObjectIdAndType("https://www.facebook.com/StartupScribble/", LikeView.ObjectType.PAGE);

Этот код также отлично работает на большинстве устройств, кроме устройств Redmi.

2 ответа

Решение

У меня была такая же проблема при разработке приложения. Моя проблема заключалась в том, что приложение Facebook все еще находилось в режиме разработчика. Учетная запись Facebook, которая была зарегистрирована на устройстве, не была добавлена ​​в приложение Facebook в качестве администратора, разработчика или тестера.

У учетной записи не было разрешения на доступ к приложению, и диалоговое окно общего доступа было закрыто практически сразу после появления. Это было решено, когда я вошел в систему с нужной учетной записью Facebook.

При тестировании ваших приложений переведите их в режим разработки. Это полностью скрывает ваше приложение от всех пользователей, которых вы не авторизовали в панели инструментов приложения для просмотра приложения, для ролей, описанных ниже. Обратите внимание, что когда ваше приложение находится в режиме разработки, вы не можете вызывать какие-либо вызовы API от имени пользователей, которые не могут видеть ваше приложение.

Приведенный выше текст взят из Facebook-документации, где они объясняют больше о ролях.

Другая причина - ошибка в родном приложении для Android в версии Facebook. 179.0.0.44.83в этой версии ShareDialog не будет работать из-за внутренней ошибки в родном приложении Facebook.

Другие вопросы по тегам