2017-01-07 14 views
3

WhatsAppは最近通話機能を追加しました。これまでは、連絡先を表示するときに連絡先にメッセージを送信するオプションが1つしかありませんでした。今すぐ連絡先にメッセージを送信したり、連絡先を呼び出すことができます。 WhatsAppがこのエントリをContactsContractに追加しましたか、またはGoogleがWhatsAppを満たすように連絡先アプリを変更しましたか?カスタム連絡先アプリを作成しようとしていますが、このカスタム連絡先アプリからアプリへのリンクを作成する方法がわかりません。私はこの質問を読んだ ネイティブアンドロイドの連絡先アプリは、whatsappなどのアプリへのインテントにどのように対応しますか

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

は、しかし、解決策は十分に汎用的ではありません。

答えて

-2

アプリケーションを作成するときに、連絡先にアクセスするためのアクセス権を要求する必要があります。これはマニフェストで要求されます。それだけで。 2つ目の質問に答えるために、アプリケーションはオペレーティングシステム(Android)が "通話"、 "SMS"、 "URL"、 "画像"例えば、コールは、そのアクションを実行する異なるアプリケーションをユーザーに示します。

+1

私はパーミッションを理解しています。私はそれらについて尋ねていませんでした。連絡先アプリケーションにwhatsappに関連する2つの異なるインテントの認識がどのようにあるのかを質問しています。 whatsappの呼び出しは最近の機能です。その前に、連絡先を表示するときにwhatsappアイコンが1つしかありませんでした。 whatsappは連絡先アプリへの呼び出しオプションをどのように追加しましたか? – Yoker

+0

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

+0

コンテンツプロバイダーを使用することで、WhatsAppはこれを共有している他のアプリと共有する情報を編集することができます。私はこれがあなたが期待していたものだと願っています – Nobody

0

すべてのアプリでは、sms://またはtel://のように処理できるのはどのタイプのuri schemeしか指定できません。クリアするために、Appsは他のアプリで自分自身のエントリを追加することはできません。
自体は、それがuri schemesms://またはtel://タイプを扱うことができるすべてのアプリケーションを一覧表示するように実装連絡先アプリ:あなたの例の場合

。 古いバージョンのWhatsAppではsms://というURIスキームしか処理できないため、連絡先アプリではSMS /メッセージオプションのみが表示されます。
またWhatsAppの機能を呼び出すと、tel:// uriスキームを処理するためのサポートが追加されました。これは、連絡先アプリにも呼び出しオプションが表示される理由です。

+0

連絡先アプリは、その人がアプリをインストールしているかどうかをどのように知っていますか? Whatsappオプションは、連絡先にwhatsappがある場合にのみ表示されます。 – Yoker

1

Androidアプリは、特定の操作の暗黙のインテントを処理するマニフェストに広告することができます(Receiving an implicit intentを参照)。この場合、dial actionです。

そして、あなたの実用的な質問へ - あなたは活動(この場合は、ACTION_DIAL行動と意図)意図を処理し、自分の名前、アイコンを取得するためにPackageManagerを使用することができますqueryPackageManagerを使用することができ、など

WhatsAppのケースでは、どのコンタクトがWhatsAppユーザーであるかを知りたいが、WhatsAppにはAPIがないか、独自のContentProviderがある。この2014 blog post solutionは依然として有効で、チェックされていない可能性があります。

関連する問題