0

開発者ガイドには、連絡先データベースを拡張するオプションがあると記載されています。私がやりたいことは、標準の連絡先リストに追加のアイコンを追加することです。アイコンを押すと、アプリケーションに通知され、通話が処理されます。Whatsup の連絡先リストにこの種のアイコンがあるようですが、これがどのように行われるかは明確ではありません。

ありがとう、サイモン

4

1 に答える 1

2
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" />

これにより、ダイヤル プロセスを完了するためのアプリまたは標準のダイヤラー アプリとなるダイヤラー アプリケーションを選択するオプションがユーザーに提供されます。

于 2013-11-10T05:52:46.730 に答える