Диалоговое окно общего доступа к 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.