Виявляється, що - для укорінених людей - є спосіб повністю відключити Direct Share!
Для короткої версії перейдіть до нижньої частини цієї відповіді.
У моєму пошуку способу не допустити, щоб ця дурна функція не переймала мене, я ознайомився з тим, як ця функція реально реалізована в додатках розробниками. Виявляється, вони реєструють послугу у наміреного приймача (читайте: слухач подій), і коли я зрозумів це, я почав шукати спосіб заблокувати певні наміри для трансляції через систему. Що ж, Android насправді вбудований. Це називається " Намірний брандмауер" . Я швидко зрозумів, як створити для нього правило, щоб заборонити додаткам отримувати "Ей, чи є додатки, які хочуть помилку користувача, поклавши під великий палець кілька кнопок Direct Share, коли вони збираються щось торкнутися?" -події.
Ви просто створіть простий xml-файл, як і впадете це:
<rules>
<service block="true" log="true">
<intent-filter>
<action name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
</rules>
Тепер вам потрібно покласти його на телефон і скопіювати в каталог намірного брандмауера. На більшості пристроїв, які були б
/data/system/ifw/
Я просто використав Root Explorer, щоб скопіювати файл туди (не потрібен chmod), спробував поділитися чимось, що спричинило появу цілей Direct Share та BOOM! Нічого!
Рекомендую ознайомитись із фоновим режимом (див. Посилання вище), особливо про те, як працює намірний брандмауер та як можна знайти папку.
Щасливі, що не ділиться!