1

Android で通話ログを照会しました。CallLog.Calls.CACHED_NUMBER_TYPE フィールドが 0 のコールと 1 のコールがあります。これらの数字は何を意味するのでしょうか? 1は「ホーム」を意味しますか?これはどこに文書化されていますか?

4

1 に答える 1

2

私の知る限り、明示的に文書化されていません。しかし、アンドロイドのソースコードを読むと、使用されているのは整数で定義されていることがわかります

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone.html

(許可された DATA2 を参照)。


関連するAndroidソースでそれを取得する方法について:たとえば、テストで=>

https://github.com/android/platform_packages_providers_contactsprovider/blob/c085b3eeebf13ebdfb197444747354a1d6eced2b/tests/src/com/android/providers/contacts/CallLogProviderTest.java#L81


Android の CallerInfo クラスのスタンドアロン バージョンを抽出した通話ログと発信者情報をさらに処理したい場合は、次のようにします。

http://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/src/com/csipsimple/models/CallerInfo.java

それは私自身の表示名でキャッシュすることを可能にします (これは必ずしもすべてのメーカーのすべての Android 連絡先アプリで行われるわけではありません -- HTC センス)。


また、これらのキャッシュされた値はすべて、連絡先アプリが画面を更新するときに消去される可能性があることに注意してください。自分の価値を維持したい場合、私が今のところ見つけた唯一の方法は、関連付けられた連絡先を作成することです。

https://github.com/Wysie/android_packages_apps_Contacts/blob/c3772f17c37817ebb4eb925146c3a633aa258aa2/src/com/android/contacts/RecentCallsListActivity.java#L364を参照してください。

(キャッシュされた値を自動的に更新するコール ログ アプリのソース コード)。

このコードは、製造元からのカスタム ディストリビューションでは異なる可能性があることに注意してください例から、私が言ったように、HTC は HTC Sense でそれを別様に行います。また、Android AOSP バージョン内でも変更されます。そして間違いなく、サムスンはUIで独自の方法で物事を行っています。

于 2011-10-01T23:34:42.280 に答える