如何以编程方式找出联系人是不是可在android中编辑
Posted
技术标签:
【中文标题】如何以编程方式找出联系人是不是可在android中编辑【英文标题】:How to find out programmatically if a contact is editable in android如何以编程方式找出联系人是否可在android中编辑 【发布时间】:2016-05-17 22:23:28 【问题描述】:在我正在构建的应用程序中,我正在访问手机的联系人,但我需要知道这些联系人是否可编辑(如 google 帐户的联系人)或不可编辑(如来自 Skype 的联系人)。我在任何地方都没有找到与此主题相关的任何内容,但我看到三星的联系人应用程序能够区分它们,所以它必须是可能的。任何帮助或指导将不胜感激。非常感谢!!
好吧,看来我要问的问题并不完全清楚。这是我的具体用例:我正在构建一个有地图的应用程序。您可以从中访问联系人列表,当您选择联系人时,该联系人将显示在地图上的气球中。如果该联系人是可写的,您将在该气泡中有一个按钮来编辑该联系人。但如果该联系人不可写,该按钮将不会出现。
【问题讨论】:
嘿,关于这个话题有很多讨论。请通过以下链接。 here、here 和 here 谢谢,但这些讨论都没有提到我要求的问题(了解联系人是否可写)。 【参考方案1】:您需要具有以下权限才能启用联系人的写入/读取权限。当你有写权限时,就意味着你对联系人有编辑权限。
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
有关可用权限的完整列表,请通过developer reference
要编辑联系人,请参阅this 讨论。
示例代码请通过this和this。
【讨论】:
再次感谢,但这并不是我所需要的。也许我没有正确解释自己。在您手机上的联系人列表中,有一些您无法编辑(例如来自 Skype 的联系人),这没关系,它应该是这样的(它是手动或以编程方式工作的方式)。我需要的是,当我得到一个联系人的信息时,知道它是否可写,因为根据它,我会执行不同的操作。 我很抱歉,让我想想。 请描述实际用例,以便我们提出合适的解决方案。详细说明您的问题并具体说明。 嗯,基本上,我正在构建一个有地图的应用程序。您可以从中访问联系人列表,当您选择联系人时,该联系人将显示在地图上的气球中。如果该联系人是可写的,您将在该气泡中有一个按钮来编辑该联系人。但如果该联系人不可写,则该按钮不会出现。以上是关于如何以编程方式找出联系人是不是可在android中编辑的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式(Kotlin)在Android中修改和显示联系人的最佳方式?
如何删除以编程方式添加新联系人时添加的 Android 联系人应用程序中的重复条目?
如何在android中以编程方式将铃声添加到本机应用程序联系人