Android:如何从应用程序数据库向 android phone 应用程序提供有关数字的数据 - 最近
Android: how to provide data about numbers from application database to android phone app - recents
如何让 android 默认 phone 应用程序从我的应用程序数据库中获取分配的名称到号码并显示它?
我想要实现的一个例子:
号码 XXX-XXX-XXX 昨天给我打了电话,我的通讯录中没有它的名字,但我的应用程序数据库中有它的名字,所以在 phone 应用程序中 - 最近将显示我的应用程序数据库中的联系人姓名而不是 XXX-XXX-XXX。
可以通过将值写入 CACHED_NAME
field in the CallLog.Calls
table.
但是这有两个问题:
- Google Play 应用程序中的通话记录访问仅允许用于非常特定的用例,请参阅:https://support.google.com/googleplay/android-developer/answer/10208820?hl=en
- 大多数(如果不是全部的话)Phone 应用程序在启动时会刷新
CACHED_NAME
字段,因此它会在联系人 table 中查询 phone 号码,将找不到与该号码的任何联系人,然后将清除名称。
唯一可行的解决方案是在您的应用中为每个 phone-number 创建一个新的 RawContact,具有简单的 Phone
行和 StructuredName
行。
这会将这些号码添加到用户的联系人 table,并且还会在通话记录应用程序中显示姓名。
如何让 android 默认 phone 应用程序从我的应用程序数据库中获取分配的名称到号码并显示它?
我想要实现的一个例子:
号码 XXX-XXX-XXX 昨天给我打了电话,我的通讯录中没有它的名字,但我的应用程序数据库中有它的名字,所以在 phone 应用程序中 - 最近将显示我的应用程序数据库中的联系人姓名而不是 XXX-XXX-XXX。
可以通过将值写入 CACHED_NAME
field in the CallLog.Calls
table.
但是这有两个问题:
- Google Play 应用程序中的通话记录访问仅允许用于非常特定的用例,请参阅:https://support.google.com/googleplay/android-developer/answer/10208820?hl=en
- 大多数(如果不是全部的话)Phone 应用程序在启动时会刷新
CACHED_NAME
字段,因此它会在联系人 table 中查询 phone 号码,将找不到与该号码的任何联系人,然后将清除名称。
唯一可行的解决方案是在您的应用中为每个 phone-number 创建一个新的 RawContact,具有简单的 Phone
行和 StructuredName
行。
这会将这些号码添加到用户的联系人 table,并且还会在通话记录应用程序中显示姓名。