Direct Share — це одна з тих функцій, яка здається корисною на перший погляд, але насправді більше дратує користувачів. Ми покажемо вам, як його видалити.
Direct Share — одна з тих функцій, яка здається корисною на перший погляд, але насправді дратує. Воно з’являється щоразу, коли ви відкриваєте меню спільного доступу, і вгорі розміщує ярлики ваших контактів в інших програмах. Я впевнений, що багато хто погодиться, що ні зазвичай в кінцевому підсумку вибирає один із їхніх контактів безпосередньо в меню спільного доступу, а також є той факт, що це спричиняє стрибок меню спільного доступу, через що ви можете пропустити запланований натискання. Якщо ви взагалі не бажаєте пропонувати ці контакти, ви можете вимкнути їх на телефонах LG і Samsung без root-прав, а також на інших телефонах через Intent Firewall.
Як видалити Direct Share з меню Share на пристрої LG або Samsung
По-перше, якщо у вас є пристрій LG або Samsung, то вам пощастило. Обидва OEM-виробники включили способи відключення цієї функції в налаштуваннях своїх пристроїв. На телефоні Samsung вам просто потрібно перейти до розділу «Додаткові функції» та вимкнути «Пряме надсилання». На телефоні LG перейдіть до
Вкладка «Мережі»., Поділіться та підключіться, і, нарешті, Панель спільного доступу. Якщо у вас немає жодного з цих пристроїв, читайте далі.Як видалити Direct Share з меню Share через Root
Ми рекомендуємо використовувати кореневий розчин, такий як Magisk. Вам також знадобиться файловий провідник із підтримкою кореневого доступу. Я особисто рекомендую MiXplorer.
[appbox xda com.mixplorer]
Крок 1. Створіть файл XML
Вам потрібно буде створити XML-файл, але назва насправді не має значення. Брандмауер намірів читатиме будь-який XML-файл незалежно від його імені. Для простоти я назвав свій «disable-direct-share.xml». Вставте наступне в текстовий редактор.
<rules>
<serviceblock="true"log="true">
<intent-filter>
<actionname="android.service.chooser.ChooserTargetService" />
intent-filter>
service>
rules>
Тепер збережіть текстовий файл і закрийте його.
Крок 2. Перемістіть файл
Це та частина, для якої потрібен root, оскільки нам доведеться безпосередньо змінити /data, помістивши файл у /data/system/ifw. Просто скопіюйте його в цю папку, і готово. Вам навіть не потрібно буде перезавантажуватись.
Крок 3. Перевірте!
Це майже все. Просто спробуйте поділитися елементом, і ви повинні помітити, що більше немає контактів, які пропонуються для надсилання елементів.
Брандмауер намірів – що ми зробили
Intent Firewall — це функція, представлена в Android 4.4.2, однак офіційно не задокументована. Таким чином, вона не тільки може бути змінена в будь-який час, але й не є офіційно підтримуваною функцією. Це не означає, що ми не можемо ним скористатися, оскільки вам потрібен лише root-доступ. Коли ми додаємо файл до /data/system/ifw, Intent Firewall скануватиме будь-який файл .XML, який він виявить у папці зміненим, і намагатиметься проаналізувати його правила. Тоді дійсні правила будуть застосовані в усій системі. Ми використовуємо це, щоб блокувати трансляції від ChooserTargetService, яка відповідає за надсилання трансляцій, щоб запитати додатки, що відображати під Direct Share. Якщо ChooserTargetService не може транслювати цей запит, меню Direct Share не може відображатися, оскільки жодна програма не відповідає. Intent Firewall також має багато інших застосувань, і навіть користувач GitHub використовував його, щоб запобігти розрядженню акумулятора завдяки виклику непотрібних служб.
Звичайно, якщо у вас є пристрій Samsung або LG, вам не слід робити нічого з цього, а замість цього варто вимкнути опцію, яку можна знайти в налаштуваннях. Google ніде не задокументував Intent Firewall, що свідчить про те, що він або незавершений, або його покинули. Схоже, що система також не використовує його. Intent Firewall не є найнадійнішим рішенням для блокування намірів і трансляцій, але наразі це єдиний спосіб зробити це. Він справляється зі своєю роботою, особливо добре в цьому випадку, і, можливо, також має інші важливі застосування.
Джерело: REJH (StackExchange)
Через: /u/ForbidReality (Reddit)