Existe alguma maneira de desativar o Direct Share no Android 6?

11

Isso se parece com isso Exemplo de compartilhamento direto, obtido em http://stackoverflow.com/questions/30518321/on-android-m-how-to-configure-the-direct-share-capabilities-image-text-an

O problema é que raramente envio algo aos contatos. O caso em que estou procurando algum aplicativo é muito mais frequente, geralmente processando a imagem, por exemplo, compartilhamento da câmera do Google para a câmera VSCO ou da câmera do VSCO para o Instagram, Facebook etc. Assim, a lista de aplicativos deve ser exibida primeiro. Mas eu vejo esta lista de contatos, é muito improvável que eu use. Eu até duvido que o contato na rara ocasião da ação direta esteja na lista.

Essa funcionalidade também reduz a velocidade da caixa de diálogo, leva um bom tempo para ser exibida.

Portanto, a questão é se existe alguma maneira de desativar essa funcionalidade. Eu só não preciso disso.

Denis Cheremisov
fonte
Marque esta pergunta android.stackexchange.com/questions/128053/… , parece que a possibilidade de remover / editar o compartilhamento direto ainda não está disponível.
11
As respostas da pergunta vinculada são certamente relevantes para essa pergunta, mas como essa pergunta é sobre a remoção de contatos individuais da lista, não acho que seja uma duplicata.
Dan Hulme
Nada? Nem mesmo algum cmd shell?
REJH 31/07
Existe uma maneira ainda mais fácil (se você conhece o xml) e não exige xposed; use o Intent Firewall do Android (ifw) e bloqueie a intenção de compartilhamento direto. Requer raiz. Eu postei sobre isso em algum lugar no SO, procurarei e adicionarei aqui também.
REJH
Apenas acrescentou a resposta (bem, a uma curta descr + um link para a resposta relevante :))
REJH

Respostas:

4

Se você está enraizado, mas não quer usar o Xposed, pode usar o Intent Firewall do Android para bloquear o compartilhamento direto. Isso funciona no Android 6.0 até 8.1:

Conforme respondido anteriormente aqui: Removendo contatos (também conhecido como “compartilhamento direto”) do painel Compartilhar no Marshmallow

Acontece que - para pessoas enraizadas - existe uma maneira de desativar completamente o Direct Share!

Na minha busca por uma maneira de impedir que esse recurso estúpido me incomodasse, observei como o recurso é realmente implementado nos aplicativos pelos desenvolvedores. Acontece que eles registram um serviço com um receptor de intenções (leia-se: ouvinte de eventos) e quando percebi isso, comecei a procurar uma maneira de impedir que certas intenções transmitissem pelo sistema. Bem, o Android realmente tem isso embutido. É chamado de Intent Firewall . Eu rapidamente descobri como criar uma regra para impedir que os aplicativos recebam a mensagem "Ei, existem aplicativos que desejam incomodar o usuário colocando alguns botões do Direct Share sob o polegar enquanto eles estão prestes a tocar em algo?" -evento.

Você acabou de criar um arquivo xml simples como esse e soltar:

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

Agora você deve colocá-lo no telefone e copiá-lo no diretório Intent Firewall. Na maioria dos dispositivos que seriam

/data/system/ifw/

Simplesmente usei o Root Explorer para copiar o arquivo para lá (não é necessário chmod), tentei compartilhar algo que fez com que os alvos do Direct Share aparecessem e BOOM! Nada!

Eu recomendo fazer algumas leituras em segundo plano (consulte os links acima), especialmente sobre como o Intent Firewall funciona e como você pode encontrar a pasta.

Feliz não compartilhar!

REJH
fonte
Alguma autopromoção flagrante: criei (na verdade, atualizei) um aplicativo que substitui a caixa de diálogo Android Share. Eu acho que o Andmade Share e o AppChooser também são boas alternativas, mas tentei fazer com que parecesse a caixa de diálogo de compartilhamento nativa. Experimente aqui: sharedr.rejh.nl
REJH
1

Surpreendentemente, esta pergunta está na lista não respondida, enquanto existe uma solução disponível para usuários rooteados com o Xposed (testado no Marshmallow)

O OP está procurando por dois requisitos

  1. Removendo contatos do Whatsapp, Gmail, Caixa de entrada, etc., aparecendo no início da lista

  2. Colocar os aplicativos frequentemente usados ​​para compartilhamento direto no topo da lista

Ambos podem ser feitos pelo CustomShare Xposed Module. Também disponível na Play Store

Discussão do desenvolvedor na XDA aqui

O módulo em Modo tem duas opções - Abrir e Compartilhar . Usando a opção de compartilhamento , podemos selecionar até 9 aplicativos (mais requer versão de doação) para impedir a exibição na lista. As fotos abaixo mostram a diferença depois de bloquear o Gmail, a Caixa de entrada e o WhatsApp no ​​meu dispositivo (ao bloquear o WhatsApp, você recebe uma mensagem de aviso de que ele não pode ser usado para SMS, mas em meus testes limitados não teve impacto)

insira a descrição da imagem aqui Após o bloqueio

Chegando ao segundo requisito de subir os aplicativos usados ​​com frequência (o que pode ser uma grande dor, considerando que praticamente todos os aplicativos se registram como compartilhamento direto) -. Nas configurações do módulo Ordem de classificação , desmarque Deixe o Android classificar os itens e mover a ordem dos aplicativos conforme desejado. No caso abaixo, Clipboard Pro, Chromer e Cam Scanner receberam visibilidade elevada

insira a descrição da imagem aqui

beeshyams
fonte