Okazuje się, że - dla osób zrootowanych istnieje sposób na całkowite wyłączenie Direct Share!
W przypadku krótkiej wersji przejdź na dół tej odpowiedzi.
W poszukiwaniu sposobu, aby powstrzymać mnie od tego, by ta głupia funkcja mnie nie denerwowała, przyjrzałem się, jak ta funkcja jest faktycznie implementowana w aplikacjach przez programistów. Okazuje się, że rejestrują usługę za pomocą odbiornika intencyjnego (czytaj: detektor zdarzeń) i kiedy zdałem sobie z tego sprawę, zacząłem szukać sposobu na zablokowanie pewnych zamiarów przed emisją przez system. Android ma to wbudowane. Nazywa się Intent Firewall . Szybko wymyśliłem, jak utworzyć regułę, która ma blokować aplikacje przed otrzymaniem „Hej, czy są jakieś aplikacje, które chcą zaatakować użytkownika, umieszczając pod kciukiem kilka przycisków bezpośredniego udostępniania, gdy mają zamiar coś dotknąć?”. -zdarzenie.
Wystarczy utworzyć prosty plik XML, taki jak i upuścić w nim:
<rules>
<service block="true" log="true">
<intent-filter>
<action name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
</rules>
Teraz musisz umieścić go w telefonie i skopiować do katalogu Intent Firewall. Na większości urządzeń
/data/system/ifw/
Po prostu użyłem Root Explorera do skopiowania pliku (nie wymaga chmod), próbowałem udostępnić coś, co spowodowało pojawienie się celów Direct Share i BOOM! Nic!
Zalecam trochę czytania w tle (patrz łącza powyżej), szczególnie o tym, jak działa Intent Firewall i jak znaleźć folder.
Miłego nieudostępniania!