Диалоговият прозорец за споделяне във Facebook не работи правилно в MI устройства

Код на ShareLinkContent

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

Споделяне на диалогови кодове, които изпробвах

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

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

b. Използване на статичен достъп

ShareDialog.show(this, content);

Сега проблемът е, че работи перфектно във всички обикновени телефони като Motorola, Samsung, Pixel, Lenovo.

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

Трябва ли да правя нещо специално, за да обработвам Facebook диалозите в MI устройства?

Има опция за създаване на персонализиран диалогов прозорец, но искам да я запазя като последна опция.

Редактиране

Същото се случва и с Facebook бутона Like.

Ето кода за Facebook бутона за харесване

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

Този код също работи перфектно в повечето устройства, с изключение на устройствата Redmi.


person Mohammed Atif    schedule 25.02.2017    source източник
comment
Проверете данните за връзките си във Facebook. Най-вече това води до изчезването на диалоговия прозорец за споделяне във Facebook.   -  person Rahul Shukla    schedule 06.03.2017


Отговори (2)


Имах същия проблем, докато разработвах приложение. Проблемът ми беше, че приложението на Facebook все още беше в режим за разработчици. Facebook акаунтът, който е влязъл в устройството, не е добавен към Facebook приложението като администратор, програмист или тестер.

Акаунтът нямаше разрешение за достъп до приложението и диалоговият прозорец за споделяне беше затворен почти веднага след появата му. Това беше разрешено, когато влязох с правилния акаунт във Facebook.

Когато тествате вашите приложения, поставете ги в режим на разработка. Това скрива приложението ви изцяло от всички потребители, които не сте упълномощили в таблото за управление на приложението да виждат приложението за ролите, описани по-долу. Моля, обърнете внимание, че когато приложението ви е в режим на разработка, не можете да извиквате API извиквания от името на потребители, които не могат да видят приложението ви.

Текстът по-горе идва от документацията за facebook, където се обяснява повече за ролите.

person Rockney    schedule 04.03.2017
comment
Еха! Това беше странно. По стечение на обстоятелствата всички мои тестови устройства имаха моя FB акаунт и всички отзиви, които получих от моите приятели, имаха MI устройство. Така че дори не можах да се сетя за този разработчик и критерии за производство. Сериозно смятам, че документите, където FB ръководството за интегриране на тези бутони има връзка към документи, където се споменават одобрения и публикуване. Благодаря за помощта. - person Mohammed Atif; 07.03.2017

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

person Khalid Taha    schedule 10.07.2018
comment
аз също съм изправен пред същия проблем. има ли някакво решение? @Атила Найерс - person A2N; 12.07.2018
comment
@A2N решението е едно от двете, или принуждавате диалоговия прозорец да бъде в мрежата, или фейсбукът коригира този бъг и пуска нова версия - person Khalid Taha; 15.07.2018
comment
@KhalidTaha Да. И двете се случиха. FB поправи тази грешка във v180 и добавих слушател за получаване на събитие за грешка и отваряне на мрежата. Благодаря. - person A2N; 16.07.2018