2017-01-07 3 views
3

WhatsApp недавно добавил функцию вызова. До этого был только один вариант при просмотре контакта, то есть для сообщения контакта. Теперь есть возможность сообщения или вызвать контакт. Добавил ли WhatsApp эту запись в ContactsContract, или Google изменил приложение для контактов в WhatsApp? Я пытаюсь создать пользовательское приложение для контактов, но я не понимаю, как создавать ссылки на приложения из этого настраиваемого приложения для контактов.Как приложение для родных Android-приложений подходит для приложений, таких как whatsapp

Я прочитал этот вопрос,

How to get contacts which are used in whatsapp or other application in android

Но решение не является универсальным достаточно. Я хочу создать приложение для контактов, в котором нет жестко закодированных имен приложений.

ответ

-2

При создании приложения вы должны запросить разрешения на доступ к контактам. Это запрашивается в манифесте. Только это. Чтобы ответить на ваш второй вопрос, приложения зарегистрированы в операционной системе, чтобы позаботиться о «Звоках», «SMS», «URL», «Изображение» и т. Д. И т. Д. Затем, когда операционная система (Android) должна сделать вызов, например, показывает пользователю различные приложения, которые выполняют это действие.

+1

Я понимаю разрешения. Я не спрашивал о них. Я спрашиваю, как приложение для контактов имеет представление о двух разных намерениях, относящихся к whatsapp. Вызовы в whatsapp - это недавняя функция, перед этим при просмотре контакта был только один значок whatsapp. Каким образом whatsapp добавляет возможность для звонков в приложение для контактов? – Yoker

+0

https://developer.android.com/guide/topics/providers/content-provider-basics.html#Basics – Nobody

+0

Используя контент-провайдер WhatsApp может редактировать информацию, которую он предоставляет другим приложениям в этой дополнительной информации о вызове. Надеюсь, это то, чего вы ожидали – Nobody

0

Любое приложение может указывать только тип uri scheme, с которым они могут обращаться как sms:// или tel://. Для очистки приложения не могут добавлять запись в некоторые другие приложения.

В вашем примере случае:
Контактное приложение сами реализованы таким образом, что это список всех приложений, которые могут обрабатывать sms:// или tel:// типа uri scheme. Как устаревшая версия WhatsApp может обрабатывать только схему uri sms://, поэтому для связи с приложением только список SMS/сообщений.
Также с функцией вызова в WhatsApp они добавили поддержку обработки схемы uri tel://, поэтому приложение Contact также показывает функцию вызова.

+0

Как узнать, установлено ли приложение для контактов, установлено ли приложение? Опция Whatsapp отображается только в том случае, если у контакта есть whatsapp. – Yoker

1

Приложение для Android может рекламировать в своем манифесте, оно обрабатывает неявное намерение для данного действия (см. Receiving an implicit intent). В этом случае a dial action.

И ваш практический вопрос - вы можете использовать PackageManager для query которых деятельность может обрабатывать намерение (в данном случае, намерение с ACTION_DIAL действия), а также использовать PackageManager, чтобы их имя, значок и т.д.

в

В случае WhatsApp вы хотели бы узнать, какие контакты являются пользователями WhatsApp, но у WhatsApp нет API или собственного ContentProvider. Этот 2014 blog post solution может быть по-прежнему действителен, не проверен.

Смежные вопросы