Sai*_*esh 13 android google-calendar-api android-calendar
我们如何将一些额外的数据附加到日历事件,如文件,照片,简单的字符串等,..
我使用扩展属性,并能够通过扩展属性插入一些额外的数据
Uri extendedProperties=Uri.parse("content://com.android.calendar/extendedproperties");
ContentValues extendedValues=new ContentValues();
extendedValues.put("event_id", id);
extendedValues.put("name",key);
extendedValues.put("value",value);
getApplicationContext().getContentResolver().insert(extendedProperties, extendedValues);
Run Code Online (Sandbox Code Playgroud)
然后能够像下面那样检索这些数据
Uri extentdedProperties=Uri.parse("content://com.android.calendar/extendedproperties");
CursorextendedPropertires Cursor=getContentResolver().query(extentdedProperties,null,"event_id = "+Id +",null,null);
Run Code Online (Sandbox Code Playgroud)
它适用于Android 2.2 ...相同的代码,如果在Android 4.0(冰淇淋三明治)测试.它抛出的错误是只有同步适配器才能访问内容://com.android.calendar/extendedproperties.
所以我把查询称为"callerissyncadapter".现在我能够插入扩展属性.但是,一旦事件同步到服务器,服务器就会删除扩展属性.
日历提供商(谷歌除外)也不完全支持这些扩展属性
有没有办法将一些额外的数据附加到除extendedproperties之外的日历事件,或者我们能否以更好的方式使用这些扩展属性.
除非您确实是同步适配器,否则请勿使用 callerissyncadapter。将其设置为 true 将导致设备上的内容观察者不会收到该提供程序中内容更改的通知,并且您的更改不会保留到服务器。
你为什么要尝试这样做?您是否正在尝试将应用程序的某些数据与日历事件相关联?
如果是这样,为什么不使用您的应用程序创建您自己的私有数据存储(或内容提供程序),并根据日历内容提供程序中的事件键对您的额外属性进行索引?这样,您的应用程序数据和公共联系人内容提供商数据之间就建立了关联。
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |