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

Pole EditText - wyłączenie możliwości wstawiania GIF z klawiatury
KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 369
0

Witam,

Takie pole EditText (przykładowo):

Kopiuj
<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ś?

Michał Sikora
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 834
0

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

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 369
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

Michał Sikora
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 834
0

"Emoji itd."

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

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 369
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

Michał Sikora
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 834
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.

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 369
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

Michał Sikora
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 834
0

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

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 369
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.