Название говорит само за себя: для чего нужен CalendarContract.EventsColumns.CUSTOM_APP_URI?

Я спрашиваю, потому что ищу место, где мое приложение может поместить некоторые данные, относящиеся к конкретному приложению, в таблицу событий. Возможно, это бесполезный вопрос, потому что, конечно, мне нужно быть уверенным, что какое-то другое приложение не уничтожит мои данные.

Может быть, лучший вопрос: как я могу хранить данные, относящиеся к конкретному приложению, в таблице событий календаря?

6
Peri Hartman 25 Янв 2013 в 01:07
Вы нашли способ добавить пользовательские данные?
 – 
dowi
19 Фев 2015 в 17:39

1 ответ

Лучший ответ

Как указано в CalendarContract:

/**
 * Activity Action: Display the event to the user in the custom app as
 * specified in {@link EventsColumns#CUSTOM_APP_PACKAGE}. The custom app
 * will be started via {@link Activity#startActivityForResult(Intent, int)}
 * and it should call {@link Activity#setResult(int)} with
 * {@link Activity#RESULT_OK} or {@link Activity#RESULT_CANCELED} to
 * acknowledge whether the action was handled or not.
 *
 * The custom app should have an intent-filter like the following
 * <pre>
 * {@code
 * <intent-filter>
 *    <action android:name="android.provider.calendar.action.HANDLE_CUSTOM_EVENT" />
 *    <category android:name="android.intent.category.DEFAULT" />
 *    <data android:mimeType="vnd.android.cursor.item/event" />
 * </intent-filter>
 * }
 * </pre>
 * <p>
 * Input: {@link Intent#getData} has the event URI. The extra
 * {@link #EXTRA_EVENT_BEGIN_TIME} has the start time of the instance. The
 * extra {@link #EXTRA_CUSTOM_APP_URI} will have the
 * {@link EventsColumns#CUSTOM_APP_URI}.
 * <p>
 * Output: {@link Activity#RESULT_OK} if this was handled; otherwise
 * {@link Activity#RESULT_CANCELED}
 */

// @SdkConstant (SdkConstantType.ACTIVITY_INTENT_ACTION) общедоступная статическая конечная строка ACTION_HANDLE_CUSTOM_EVENT = "android.provider.calendar.action.HANDLE_CUSTOM_EVENT";

2
Moritz 28 Дек 2013 в 22:01