背景
我发现了一篇有趣的文章和github 存储库,它表明可以让电话应用程序在通话期间显示人们的来电显示信息,所以我想知道这是否是官方的做法,或者其他什么别的。
此示例显示,为了提供此数据,您需要实现 ContentProvider。
问题
在我看来,这几乎就像一个黑客,并且看到它适用于某些(大多数?)设备,但不适用于三星设备。
可能只是三星自己的应用程序出于某种原因不使用这些数据。
但是还有另一个问题:如果我制作一个应用程序来为另一个应用程序提供来电显示数据,那么在通话期间最好只为当前默认的电话应用程序执行此操作。
我不希望任何应用程序都能访问这些数据并全部获取。可悲的是,我看不到任何使用 ContentProvider 的方法,它只允许查询当前的手机应用程序。我也许可以检查当前设备是否正在通话中,但这并不是什么数据保护...
我试过的
问题是,互联网上几乎没有关于这种罕见病例的信息,也没有任何问题。好的,有这个,但它指向相同的解决方案......
为了找到这篇文章和存储库,我进行了很多搜索。
问题
这真的是为 Phone 应用程序提供数据的官方方式吗?如果没有,我该怎么做?它适用于包括三星在内的所有设备吗?
对于数据保护,是否有办法让 ContentProvider 在运行时仅允许对特定应用程序查询数据?这意味着对于每个查询,我可以检查哪个应用程序请求查询?