【问题标题】:How to get contact that is deleted or updated from device contact list in android如何获取从android中的设备联系人列表中删除或更新的联系人
【发布时间】:2012-02-11 06:45:56
【问题描述】:

我想获取已从设备联系人列表中删除或更新的联系人。我使用了内容观察器,但没有获取正在更新或删除的联系人的任何详细信息。

那么是否有任何监听器,以便我们可以在设备联系人列表中获取正在删除或更新的联系人,或者在删除或更新联系人时从系统触发的任何操作。

更新

实际上我的申请要求是:

如果用户删除联系人或更新设备联系人列表中的联系人,例如

如果用户删除该联系人,那么我的应用程序需要删除的联系人信息

正如您建议我使用内容观察者和查找 uri,但使用它我只知道联系人已删除,但没有获得有关该删除联系人的任何信息。

那么有什么方法可以删除联系信息。

提前致谢

【问题讨论】:

  • 嘿,vijay,你是怎么解决这个问题的。提前谢谢。

标签: android


【解决方案1】:

答案是ContentObserver,这就是你要找的,你可以查看这个帖子进一步使用ContentObserver

ContentObserver 示例的更多链接, Observing content

更新:

Loookup URI - 如果您的应用程序需要维护对联系人的引用,您应该使用查找键而不是传统的行 ID。您可以从联系人本身获取查找键,它是ContactsContract.Contacts 表中的一列。

您可以注册ContentObserver 以获得您有兴趣使用Loookup URI 的特定Uri

Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.
                                                   CONTENT_LOOKUP_URI,lookupKey);
getContentResolver().registerContentObserver(lookupUri, false, myObserver);

【讨论】:

  • 感谢您的快速回复,但我使用 Content Observer 对我没有用处,因为我想要更新或删除的联系人详细信息,而这是 Content Observer 没有给我的。
  • 你用过什么?你在这方面面临什么问题?
  • 我已经使用了 ContentObserver。然后当我们在设备的联系人列表中添加联系人时,会调用 ContentObserver 的 onchage 方法,但此方法没有提供该联系人的详细信息。所以我在哪里得到了添加的详细信息联系人 .Aslo 需要删除和编辑联系人。这是我得到与否的问题。
  • 编辑了我的答案,希望您正在寻找 LookUp Uri 概念。
  • 感谢您的快速回复,但更新问题中显示了我的应用程序要求。如果有,请建议我。
【解决方案2】:

首先你需要在你的主要活动中注册这个接收器--

 getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI, true,new MyCOntentObserver());

之后

public class MyCOntentObserver extends ContentObserver {

    public MyCOntentObserver() {
        super(null);
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
        Log.d("onChange1", "~~~~~~" + selfChange);

        //getApplicationContext().startService(new Intent(MainActivity.this, SendContactService.class));
    }

    @Override
    public boolean deliverSelfNotifications() {
        Log.d("deliverSelfNotifications", "~~~~~~fg");
        return true;
    }
}

【讨论】:

    猜你喜欢
    • 2016-10-08
    • 2013-11-18
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    相关资源
    最近更新 更多