開発者ガイドには、連絡先データベースを拡張するオプションがあると記載されています。私がやりたいことは、標準の連絡先リストに追加のアイコンを追加することです。アイコンを押すと、アプリケーションに通知され、通話が処理されます。Whatsup の連絡先リストにこの種のアイコンがあるようですが、これがどのように行われるかは明確ではありません。
ありがとう、サイモン
public final class ContactsContract
Android Contact Provider が最終クラスであると単純に述べています。Java 101 から、final クラスを拡張できないことがわかっています。したがって、答えはノーです。
I would like to do is to add an additional icon to the standard contacts list
私はこれを大きな問題とは見ていません。ContentProviderこのデータをアプリに表示するときに、独自のデータを作成して取得できます。ID フィールドを使用して、元の連絡先を自分の連絡先にマップできます。必要な数のフィールドを追加できます。
when it is pressed will cause my application to be notified and handle the call.
標準の電話帳アプリを変更することはできませんが、独自の電話帳を作成して、連絡先ごとにボタンを追加したり、表示する画像を追加したりできます。これらの追加データが ContentProvider に保存されていることを考慮してください。
ただし、標準の電話帳アプリからの呼び出しを処理する場合、カスタム コンテンツ プロバイダーは必要ありません。ファイルをフォローするだけIntentFilterです。AndroidManifest
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
そして、許可、
<uses-permission android:name="android.permission.CALL_PHONE" />
これにより、ダイヤル プロセスを完了するためのアプリまたは標準のダイヤラー アプリとなるダイヤラー アプリケーションを選択するオプションがユーザーに提供されます。