Удаление контакта с панели «Прямой доступ»

33

Я только что перешел на Android 6.0, и на панели «Поделиться» появилась новая серая область поверх различных приложений, в которые она помещает контакты, которые, я полагаю, вы прикрепляете туда. Это было бы неплохо, за исключением того, что контакт оказался там, и я не могу найти способ удалить его. Есть один?

В частности, контакт, кажется, был помещен туда приложением Messenger, но также нет способа изменить его закрепление в приложении.

lfabio
источник
1
Исходя из моего опыта, контакт добавляется из-за того, что он делится с ними историей, а не из-за того, что он специально прикрепляет их (аналогично «Рекомендациям приложений» на «Домашнем экране», хотя в этом случае его можно отключить), но я согласен, что нет намекните, если это можно легко удалить.
Андрей Т.
1
Весьма интересный (...) аспект заключается в том, что конкретным контактом изначально был номер телефона, на который я отправил ровно одно SMS-сообщение. Я добавил его к новому контакту в надежде получить кнопку / метод «удалить / удалить» ... не повезло. OTOH, несколько контактов, с которыми я делился вещами намного больше, не появляются.
Ифабио
1
Я создал запрос функции на AOSP Issue Tracker: # 194126 . Попробуйте сыграть в главной роли, чтобы следить за прогрессом.
Андрей Т.
1
Обновление после нескольких дней использования телефона: теперь область перешла к WhatsApp - это хорошо, за исключением того, что а) у него есть только контакты WA б) он показывает некоторые, с которыми я по крайней мере не поделился вещами 12 месяцев. Таким образом, кажется, что одно приложение может захватить всю панель, и в этот момент оно просто показывает некоторое подмножество своих контактов там? OTOH, посланник только когда-либо поместил туда один контакт.
Ифабио
1
После этого прошло (очень) много времени. Первоначальный дефект вроде исправлялся сам по себе, так как при использовании другие контакты занимали эту область. Выбор того, какие контакты будут представлены, остается довольно случайным и только в зависимости от частоты или времени использования.
Ифабио

Ответы:

15

Оказывается, что для корневых людей есть способ полностью отключить Direct Share!

Для краткой версии перейдите к нижней части этого ответа.

В поисках способа, чтобы эта глупая функция не давала мне ошибок, я посмотрел, как эта функция на самом деле реализована в приложениях разработчиками. Оказывается, что они регистрируют службу с получателем намерений (читай: прослушиватель событий), и когда я понял это, я начал искать способ заблокировать передачу определенных намерений через систему. Ну, на самом деле в Android это встроено. Он называется Intent Firewall . Я быстро понял, как создать для него правило, блокирующее получение приложений: «Привет, есть ли какие-либо приложения, которые хотят вызвать ошибку у пользователя, поместив пару кнопок Direct Share под большой палец, когда они собираются что-то нажать?» -мероприятие.

Вы просто создаете простой XML-файл, подобный этому, и помещаете его в него:

<rules>
  <service block="true" log="true">
    <intent-filter>
      <action name="android.service.chooser.ChooserTargetService" />
    </intent-filter>
  </service>
</rules>

Теперь вам нужно положить его на телефон и скопировать в каталог Intent Firewall. На большинстве устройств, которые будут

/data/system/ifw/

Я просто использовал Root Explorer, чтобы скопировать туда файл (не требуется chmod), попытался поделиться чем-то, что вызвало появление целей Direct Share и BOOM! Ничего такого!

Я рекомендую немного пообщаться (см. Ссылки выше), особенно о том, как работает Intent Firewall и как найти папку.

Счастливого не делиться!

REJH
источник
Я создал файл disable-direct-share.xmlс указанным выше точным XML-содержимым, затем скопировал его в существующую папку, /data/system/ifw/используя Root Explorer, и ... через несколько секунд после приложений появляются раздражающие отдельные контакты «Поделиться через». Rooted LineageOS, Android 7.1.2. Есть идеи? Благодарность!
Николас Рауль
Хм нет, я думаю, что это должно работать. Это файл, который я буквально скачиваю и перемещаю в папку: stor4ge.rejh.nl/_stored/var/android/system-images/…
REJH
1
Спасибо!! Основываясь на вашем ответе, я создал хранилище с тремя способами установки этого файла: без компьютера только на телефоне, с adb и, наконец, с архивируемым zip-файлом восстановления. См github.com/stefansundin/android-disable-direct-share
stefansundin
1
Вы также можете применить это исправление без рута через TWRP. 1. Скопируйте XML-файл куда-нибудь. 2. перезагрузиться в рекавери (TWRP). 3. Нажмите «Дополнит.»> «Диспетчер файлов». 4. Найдите свой файл /sdcard/, скопируйте его. 5. открыть каталог /data/system/ifw, вставить 6. перезагрузиться обратно в систему.
ВасяНовиков
1
Я бы посоветовал против этого метода в Android 10 (Q) - он работал нормально до 9 (пирог), но в 10 он вылетает из приложения, которым вы пытаетесь поделиться.
MartyMacGyver
7

Вы можете отключить меню «Поделиться через», удалив разрешение Messenger на доступ к вашим контактам. Это не практично, если вы используете Messenger в качестве основного приложения SMS, но если вы используете другое приложение, это нормально.

sbtrct
источник
Это не совсем решение, не так ли?
REJH
1
Это работает, если они приходят только из Messenger, а пользователь использует другое приложение SMS в качестве приложения SMS по умолчанию. Контакты также могут поступать из других приложений (в моем случае, например, из стороннего приложения электронной почты и Whatsapp), но отключение разрешения контактов приводит к их неисправности.
Pileofrocks,
7

Другой альтернативой может быть использование приложений, таких как AndmadeShare, которые полностью заменяют меню обмена. https://play.google.com/store/apps/details?id=com.andmadesoft.share

YCI
источник
Это было предложено и для AOSP, да, и это может быть хорошим промежуточным решением.
Ифабио
ссылка мертва
Дмитрий
4

В данный момент. по состоянию на 6.0 нет возможности отключить прямой общий доступ все вместе. Некоторые приложения могут добавить опцию, чтобы отключить прямой доступ для своих приложений.

Roh_mish
источник
2
Я на самом деле в порядке с этой функцией - если она работала так, как задумано, то есть (я полагаю) поместила контакты с наиболее часто используемым доступом там. Я бы приветствовал это. Но должен быть способ отредактировать список. Я должен сказать - должен быть простой способ редактировать список.
Ифабио
В настоящее время проблема заключается в том, что приложения могут добавлять любой контакт, и если несколько мгновенных сообщений добавляют, например, одного и того же человека, им предоставляется несколько способов связаться с одним человеком. Занимая место над всем. Вверху, на мой взгляд, лучше использовать вкладку для переключения между людьми и приложениями.
Roh_mish
4

Перейдите в настройки. Нажмите на Расширенные функции. Прокрутите вниз, чтобы Direct Share. Выключите его, и все контакты исчезли из общего доступа через.

Сара
источник
2
У меня нет Расширенных функций в меню настроек? Мы говорим о настройках телефона, верно?
Ифабио
1
Работало на Galaxy S7. Так может этот метод специфичен для телефонов Samsung? И да, я нашел «Расширенные функции» в меню настроек телефона, после «Дисплей».
kdb
Это был точный ответ, который требовал лишь каких-либо копаний и не нужно рутировать телефон или что-то радикальное.
Джон
1
Не могли бы вы включить скриншот? Большое спасибо! :-)
Николас Рауль
1

Я обнаружил, что в случае, когда WhatsApp показывает нарушающий контакт в вашем меню directshare (то есть на боковой цыпочке, когда смотрит ваша подруга), вы можете убрать этот контакт из списка и отправить его другим, более безопасным контактам. Так как WhatsApp отображает последних четырех человек, с которыми вы что-то поделились, поделитесь фотографией с четырьмя другими людьми, или столько контактов, сколько необходимо, чтобы вытеснить оскорбительный контакт из первой четверки.

chilisquid
источник
1
Проблема в том, что это странно. Это может сработать, а может и нет. Это может вызвать людей, с которыми я на самом деле общаюсь, возможно, нет - это
подняло
Вам не повезло :( Не
попадайся
1

Чтобы успешно удалить контакты Outlook из общего доступа через меню, я сделал следующее: - 1. Настройки, Приложения, Диспетчер приложений, Outlook, Разрешения - снимите все отметки 2. Outlook, значок Gear, щелкните нужную учетную запись, снимите флажок Синхронизировать контакты, нажмите СБРОС учетной записи

Это удалило почтовые контакты outlook из меню Share Via. Outlook работает в обычном режиме, но остальная часть моего телефона огорожена.

user3924783
источник
Это не совсем ответ на этот вопрос, но это именно то, что я пытался сделать. Так что спасибо за ответ!
ssmy
Это было то, что я тоже искал, и это сработало, но, к сожалению, похоже, это было только временное решение. Контакты Outlook вернулись.
bmaupin
1

Я обнаружил, что если вы заблокируете контакт в Whatsapp, он перестанет показывать его в меню общего доступа и в новом разделе «частые чаты», когда вы делитесь или пересылаете материал.

Однако, когда вы разблокируете его, он может снова появиться в этих двух местах.

С наилучшими пожеланиями.

Ромео
источник
1

Вы можете удалить Direct Share со своего телефона, независимо от его производителя, установив Fliktu , что намного лучше, чем Andmade Share.

Марко Лацкович
источник