4 votes

Besoin d'un espace de stockage pour un contact secondaire accessible uniquement pour l'identifiant de l'appelant

Le stockage des contacts dans Android est assez standardisé et est unifié parmi toutes les applications, et accessible en fonction du niveau de permission.

Cependant, j'ai besoin d'un moyen de stocker certains contacts qui ne devraient pas être dans l'espace de stockage des contacts standard, car ils sont accessibles par toutes les applications de messagerie et il n'y a pas de moyen de cacher les contacts de manière sélective pour qu'ils n'apparaissent pas, autre que de supprimer le contact.

Mais, les supprimer complètement rend difficile de les identifier lors d'un appel entrant.

Donc, je veux avoir un moyen de sauvegarder des contacts qui peuvent être évités d'être accessibles par toutes les applications, mais je devrais pouvoir les identifier lors d'un appel entrant.

Comment cela peut-il être fait? Une application ou une sauvegarde dans un fichier csv... Toute suggestion s'il vous plaît?

Veuillez noter que toute application d'identification de l'appelant basée sur le cloud n'est pas l'option que je recherche. Je veux réaliser cela pour les contacts que je connais et que j'ai sauvegardés uniquement.

0 votes

Désolé, il n'y a aucun moyen d'accéder sélectivement aux contacts. Même si vous les stockiez dans des "partitions" distinctes, c'est toujours le "fournisseur de contacts" qui les gère. Vous pouvez donc soit interdire soit autoriser l'accès d'une application à tous les contacts. Bien qu'il puisse exister une application de téléphone avec son propre stockage de contacts accessible uniquement à elle-même (techniquement faisable certainement), je ne me souviens pas en avoir vu une. Mais n'hésitez pas à vérifier ma liste.

0 votes

@Izzy, à quel point sera-t-il difficile d'écrire une application pour un débutant complet avec seulement des connaissances en C? Ou y a-t-il un autre moyen pour que cela puisse être fait par moi-même? Je les ai stockées dans un fichier Excel. Je suis seulement bloqué avec la partie recherche et trouver. Récupérer le numéro de téléphone des appels entrants et l'afficher ensuite sous forme de fenêtre contextuelle peut être fait par Automate.

1 votes

Yaksha, je ne suis pas programmeur Android donc je ne peux pas dire. Si c'est seulement pour l'identification de l'appelant (ce qui n'était pas clair jusqu'à présent), cela ne devrait pas être trop compliqué - mais les questions de développement sont hors sujet ici. En mentionnant Automate, quelqu'un d'autre a peut-être déjà écrit une recette correspondante.

5voto

Yaksha Points 260

J'ai trouvé une solution à cela moi-même. Plutôt que d'écrire une application Android complète, j'ai découvert que Automate lui-même dispose de blocs de fonction SQLite. J'ai donc simplement écrit un flux pour accomplir cela et il peut être trouvé à

http://llamalab.com/automate/community/flows/17889

Aperçu de ce flux :

aperçu du flux
Aperçu de ce flux (cliquez pour agrandir)

1voto

Thally Ace Points 729

Vous pouvez stocker les contacts en .csv il n'y a aucun problème en convertissant le fichier de sauvegarde de contacts par défaut .vcf ou en utilisant des applications comme contacts vers Excel. Mais vous savez que les contacts sont des entités qui ont besoin d'un traitement rapide, ils sont mis en mémoire tampon à partir de la partition /cache. Simplement parce que c'est une mémoire rapide que EMMC, FAT, exFAT etc. Toutes les applications les lisent à partir de là. Il n'y a pas d'algorithme qui lira jamais les contacts à partir de votre partition /sdcard où je suis sûr que votre fichier .csv existe. L'application Contacts ne fait que visualiser les contacts. De la même manière que d'autres applications leur sont fournies. Une application appelée Contacts Provider est responsable de servir le flux de contacts à partir de /cache. Comme il s'agit d'une application système, elle dispose de liens d'application et d'autorisations à l'échelle du système. À moins que vous ne la transformiez en une application utilisateur en l'extrayant, en extraisant ses bibliothèques et classes et en la recomplilant en application utilisateur, et en définissant les liens d'application pour les applications que vous autorisez, mais cela reviendra à refuser l'accès aux contacts à d'autres applications. Donc cela est impossible.

0 votes

Je vois que tu es en train de réfléchir. Cela fonctionnera. Une base de données de contacts à récupérer nécessitera une application d'automatisation qui intègre également le langage de requête. Oui, Macrodroid est une application qui peut automatiser et que je peux utiliser professionnellement. Mais cela ne possède pas la fonction de langage de requête. Peut-être si tu trouves une application qui peut rechercher dans le csv et afficher le nom de la personne, Macrodroid peut t'aider à récupérer cela dans une fenêtre contextuelle lors d'un appel immédiatement. Mais si tu comprends l'application Tasker, c'est une application d'automatisation moderne et complète qui peut probablement t'aider. Mais je ne la comprends pas très bien.

0 votes

Certainement. Parce que si vous n'utilisez pas de langage de requête, vous essayez certainement de créer les noms de contact en tant que variables et leurs numéros en tant que leurs valeurs. Lors de la génération du rapport d'appel, il affiche le nom de la variable. Ce sera trop cher à utiliser pour une application d'automatisation. Mais développer une application n'est pas si mal à faire. Si vous voulez vraiment cette chose. C'est là que je souhaite qu'Android soit comme un ordinateur Windows, la chose Excel et le BASIC pourraient être amusants.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X