我们如何将一些额外的数据附加到日历事件,如文件,照片,简单的字符串等,..
我使用扩展属性,并能够通过扩展属性插入一些额外的数据
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之外的日历事件,或者我们能否以更好的方式使用这些扩展属性.