Pole EditText - wyłączenie możliwości wstawiania GIF z klawiatury

0

Witam,

Takie pole EditText (przykładowo):

<EditText
            android:id="@+id/editText3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="@={profile.name}"
            android:maxLength="15"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView11"/>

Jaki jest problem? Klawiatura Google (i pewnie inne klawiatury podobnie) pozwala od niedawna wstawiać obrazki gif, naklejki bezpośrednio z klawiatury. Aplikacja reaguje na to tak, jakby ktoś udostępnił obrazek. Problem jest w tym, że w aplikacji mam już zaimplementowaną obsługę udostępniania obrazków z galerii dla mojej aplikacji. Nie muszę chyba tłumaczyć, że to burzy cały flow i funkcjonalność, gdy ktoś wybierze gif z klawiatury wpisując np swoje imię w polu tekstowym - wtedy aplikacja zachowuje się tak, jakby ktoś udostępnił jej obrazek z galerii i przechodzi w zupełnie inne miejsce.

Potrzebuję zabronić wstawiania gif z klawiatury, taka funkcjonalność nie jest mi tu potrzebna. Nie mogę jednak znaleźć w dokumentacji jak to zrobić, podpowie ktoś?

0

W skrócie - nie da się zabronić dostępu do emoji itd. ¯\(ツ)

0

Nie chodzi o emoji, tylko o gif-y z klawiatury. Niektóre programy mają to zablokowane, jak np w Chrome spróbujesz wstawić gif-a w pasek adresu, to dostaniesz komunikat, że nie można wstawić gif-a do pola tekstowego

Spójrz na zrzut ekranu:

title

0

"Emoji itd."

Ty dostaniesz. Ja nie dostanę. IME to nie jest coś nad czym ma się pełną kontrolę.

0

Chyba nie rozumiesz pytania. W Chrome nie mogę wstawić gif-a do pola tekstowego. Chcę to zablokować i u mnie. To musi być zablokowane w polu tekstowym, IME nic tu nie ma do rzeczy

0

Rozumiem pytanie. EditText z Twojego przykładu pozwala na GIFy na moich trzech urządzeniach a na jednym nie. Jest to kontrolowane przez IME, które może, ale nie musi słuchać się sugestii.

0

Zgodziłbym się z tym, gdyby nie to, że są programy, które zablokowały to na wszystkich urządzeniach. Czyli musi się dać. Spróbuj wstawić gif do paska adresu Chrome. Nie uda ci się na żadnym urządzeniu

0

No to pisałem dwa posty temu, że mogę. Wkleja się wtedy URI.

0

Ja nie mogę, tak jak jest na zrzucie. A na tym samym telefonie, w mojej aplikacji, udostępnia mi uri obrazka i odpala się w apce activity, które przyjmuje obrazki - tak nie może być. Tylko moja aplikacja daje taki objaw, więc nie wierzę, że tego się nie da obejść.

Jak ci wkleja uri, to nie korzystasz pewnie z klawiatury od Google. W każdym razie, widzę że moja aplikacja zachowuje się inaczej i szukam przyczyny

Tutaj ktoś pyta o odwrotną rzecz: https://stackoverflow.com/questions/48108889/gboard-enable-gif-insertion-on-edittext czyli jak włączyć obsługę gif z klawiatury. Zdaje mi się, że włączyła mi się dlatego, że mam skonfigurowane udostępnianie obrazków z galerii, ale i tak to nie powinno chyba tak działać. Domyślnie nie powinien akceptować z komunikatem jak na zrzucie moim i jak w pytaniu na SO z linka

[edit]
No definitywnie mam coś, źle. Gmail np też przyjmuje obrazki z galerii, ale próba wstawienia gifa z klawiatury tam gdzie nie trzeba (np w polu wyszukiwania wiadomosci) skutkuje takim właśnie komunikatem (lub, wklejeniem uri obrazka jako tekst). U mnie apka odpala natychmiast intent przyjmowania obrazków, nieważne w jakim oknie i w jakim editText spróbuję wstawić gif-a. Pytanie czemu tak jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1