Хранилище контактов в Android в значительной степени стандартизировано и унифицировано для всех приложений и доступно в зависимости от уровня разрешений.
Однако мне нужен способ хранить некоторые контакты, которых не должно быть в стандартном пространстве для хранения контактов, потому что оно доступно для всех приложений для обмена сообщениями, и нет возможности скрыть контакты от выборочного появления в них, кроме удаления контакта.
Но полное их удаление затрудняет их идентификацию во время входящего вызова.
Итак, я хочу иметь способ сохранять контакты, к которым можно было бы избежать доступа всеми приложениями, но я должен иметь возможность идентифицировать их при входящем звонке.
Как это может быть сделано? Любое приложение или сохранение в файле csv... Любое предложение, пожалуйста?
Обратите внимание, что любые облачные приложения для идентификации вызывающего абонента — это не тот вариант, который мне нужен. Я хочу сделать это только для контактов, которые я знаю и сохранил.
Я придумал решение для этого сам. Вместо того, чтобы писать полное приложение для Android, я обнаружил, что Automate имеет функциональные блоки SQLite. Поэтому я просто написал поток для выполнения этого, и его можно найти по адресу
http://llamalab.com/automate/community/flows/17889
Предварительный просмотр этого потока:
Предварительный просмотр этого потока (нажмите, чтобы увеличить)
Вы можете хранить контакты в формате .csv, без проблем преобразовав файл резервной копии контактов по умолчанию в формате .vcf или используя такие приложения, как контакты, в Excel. Но вы знаете, что контакты — это объекты, которые нуждаются в быстрой обработке, они буферизуются из раздела /cache. Просто потому, что это более быстрая память, чем EMMC, FAT, exFAT и т. д. Все приложения читают их оттуда. Не существует алгоритма, который когда-либо будет читать контакты из вашего раздела /sdcard, где, я уверен, будет существовать ваш файл .csv. Приложение «Контакты» только просматривает контакты. Точно так же, как им предоставляются другие приложения. Одно приложение под названием «Поставщик контактов» отвечает за обслуживание потока контактов из /cache. Поскольку это системное приложение, оно имеет ссылки на приложения и разрешения для всей системы. Если вы не сделаете его пользовательским приложением, извлекая его, его библиотеки и классы и перекомпилировать его в пользовательское приложение и установить ссылки приложений на приложения, которые вы авторизуете, но все равно это будет похоже на отказ в контактном доступе к другим приложениям. Так что это невозможно.
Иззи
Якша
Иззи
Якша
Иззи