我们如何将一些额外的数据附加到日历事件中,例如文件、照片、简单的字符串等……
我使用了扩展属性并且能够通过扩展属性插入一些额外的数据
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);
后来能够像下面这样检索该数据
Uri extentdedProperties=Uri.parse("content://com.android.calendar/extendedproperties");
CursorextendedPropertires Cursor=getContentResolver().query(extentdedProperties,null,"event_id = "+Id +",null,null);
它适用于 android 2.2 ...如果在 android 4.0(冰淇淋三明治)中测试,代码相同。它抛出一个错误,说只有同步适配器可以访问 content://com.android.calendar/extendedproperties。
所以我将查询作为“callerissyncadapter”执行。现在我可以插入扩展属性。但是一旦事件同步到服务器,服务器就会删除扩展属性。
日历提供者(谷歌除外)也不完全支持这些扩展属性
除了扩展属性之外,还有什么方法可以将一些额外的数据附加到日历事件,或者我们可以以更好的方式利用这些扩展属性。