是否有一种官方的、受数据保护的方式可以在通话期间在当前的电话应用程序上显示来电显示信息?

and*_*per 6 android android-contentprovider caller-id

背景

我发现了一篇有趣的文章github 存储库,它表明可以让电话应用程序在通话期间显示人员的来电显示信息,所以我想知道这是否是官方的方法,或者其他什么别的。

此示例表明,为了提供此数据,您需要实现 ContentProvider。

问题

在我看来,这几乎就像一个黑客,并且看到它可以在某些(大多数?)设备上运行,但不能在三星设备上运行。

可能只是三星自己的应用程序出于某种原因不使用这些数据。

但还有另一个问题:如果我制作一个为另一个应用程序提供服务来显示来电显示数据的应用程序,那么最好只在通话期间为当前默认的电话应用程序执行此操作。

我不希望任何应用程序都能访问这些数据并获取全部数据。遗憾的是,我没有看到任何使用 ContentProvider 的方法,只允许查询当前的手机应用程序。我也许可以检查设备当前是否正在通话,但这并不是一个数据保护......

我尝试过的

事实是,互联网上几乎没有关于这一罕见案例的信息,也没有任何问题。好的,有这个,但它指向相同的解决方案......

我进行了很多搜索,甚至找到了这篇文章和存储库。

问题

  1. 这真的是为电话应用程序提供数据的官方方式吗?如果不是,我该怎么办?它适用于所有设备,包括三星吗?

  2. 对于数据保护,ContentProvider 是否有一种方法可以在运行时仅允许特定应用程序查询数据?这意味着对于每个查询,我可以检查哪个应用程序请求该查询?