開発者ガイドには、連絡先データベースを拡張するオプションがあると記載されています。私がやりたいことは、標準の連絡先リストに追加のアイコンを追加することです。アイコンを押すと、アプリケーションに通知され、通話が処理されます。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" />
これにより、ダイヤル プロセスを完了するためのアプリまたは標準のダイヤラー アプリとなるダイヤラー アプリケーションを選択するオプションがユーザーに提供されます。