Habituellement, pour permettre à une application de lire les données de l'utilisateur, nous ajoutons quelques lignes au manifeste Android indiquant une permission spécifique pour cette application. Cependant, Android n'a aucun contrôle sur les données brutes qu'une application peut lire. Par exemple, si une application a la permission de lire le journal des appels de l'utilisateur, elle pourra accéder à toutes les informations brutes du journal des appels sans aucune restriction. En outre, il en va exactement de même lorsqu'une application tente de lire les contacts. Elle peut lire chaque entrée sans aucune restriction sur les données brutes. Le fait que les applications n'aient aucune restriction sur les informations brutes de l'utilisateur une fois qu'elles y ont accès me préoccupe vraiment. Il serait plus souhaitable que, par exemple, une application sociale n'ait accès qu'à l'e-mail de vos contacts et non aux numéros de téléphone, aux adresses ou aux numéros de téléphone des bureaux.
J'essaie de créer une application qui pourrait restreindre l'accès à l'information brute de manière fine. En d'autres termes, une application qui pourrait restreindre l'accès en fonction des préférences de l'utilisateur de sorte que deux applications différentes qui, par exemple, ont la permission d'accéder aux journaux d'appels pourraient voir différentes versions traitées du même journal d'appels. L'une ne pourrait voir que les appels passés au cours d'une journée donnée et l'autre que les appels passés au cours du mois précédent. L'idée pourrait également être appliquée aux contacts, de sorte que les informations sensibles de l'utilisateur ne seraient pas divulguées.
J'ai fait de nombreuses recherches sur le sujet mais je n'ai pas trouvé de réponse. D'après toutes les sources que j'ai lues, je suppose que cela ne peut pas être fait (encore). Toutefois, si quelqu'un pouvait m'éclairer sur la façon de mettre en œuvre cette solution, je lui en serais très reconnaissant. Serait-il possible de restreindre l'accès aux données brutes de manière fine ?