Android 我怎样才能联系到';是版本还是修改时间?

Android 我怎样才能联系到';是版本还是修改时间?,android,android-contacts,Android,Android Contacts,我试图弄清楚Android联系人中是否有一个属性,该属性表示联系人是否已被修改 我了解到可以通过Contacts contract.Contacts.Entity.version字段读取联系人的版本,但无法检索其值。我总是有一个非法的辩论例外 是否有人知道如何获取联系人的版本,或者是否有其他方法可以确定自上次扫描通讯簿后是否修改了联系人?这是代码,我没有测试过,因为我正忙于工作 public void getVersion() { //specify which fields o

我试图弄清楚Android联系人中是否有一个属性,该属性表示联系人是否已被修改

我了解到可以通过Contacts contract.Contacts.Entity.version字段读取联系人的版本,但无法检索其值。我总是有一个非法的辩论例外


是否有人知道如何获取联系人的版本,或者是否有其他方法可以确定自上次扫描通讯簿后是否修改了联系人?

这是代码,我没有测试过,因为我正忙于工作

    public void getVersion() {
    //specify which fields of RawContacts table to be retrieved.
    String[] projection = new String[] {RawContacts.VERSION};

    //query the RawContacts.CONTENT_URI
    Cursor cur = mContext.getContentResolver().query(RawContacts.CONTENT_URI, projection,null,null,null);

  while(cur.moveToNext()){
    String version = cur.getString(cur.getColumnIndex(RawContacts.VERSION));    
    Log.i("VersionRetriever", version);
   }

  //Always remember to close the cursor. Otherwise it leads to side-effects.
  cur.close();

}

尝试使用RawContacts.CONTACT\u STATUS\u TIMESTAMP而不是RawContacts.VERSION。

如果您想知道特定的数据类型(如电话或姓名)是否已更改,您可以检查data.data\u版本(但在data.CONTENT\u URI上)。

谢谢,我编辑了您的代码,执行RawContacts版本的汇总。如果你能在这里添加代码,让人们更容易理解,犯更少的错误(如果有的话),我会非常高兴。@Jaydepw…我正在搜索as contact的更新时间,这迫使我查看此帖子,我得到了所有帐户的版本。当我试图更改任何联系人中的任何信息时,版本号实际上不会更改,因此我的问题是如何从版本中获取修改时间?它不提供联系人的修改时间,而是提供状态更新时间戳,该时间戳通常为空/未分配。