Me estoy poniendo al día con Android, y hoy, en una reunión de proyecto, alguien dijo que Android no tiene una aplicación de calendario nativa, por lo que los usuarios solo usan la aplicación de calendario que deseen.
¿Es esto cierto? De ser así, ¿cómo agrego programáticamente un evento al calendario del usuario? ¿Hay una API común que todos compartan?
Por lo que vale, probablemente estemos apuntando a Android 2.x.
Respuestas:
Cual calendario
No, no más de lo que existe una "API común que todos comparten" para las aplicaciones de calendario de Windows. Existen algunos formatos de datos comunes (por ejemplo, iCalendar) y protocolos de Internet (por ejemplo, CalDAV), pero no hay una API común. Algunas aplicaciones de calendario ni siquiera ofrecen una API.
Si hay aplicaciones de calendario específicas con las que desea integrarse, comuníquese con sus desarrolladores y determine si ofrecen una API. Entonces, por ejemplo, la aplicación Calendario del proyecto de código abierto de Android, que Mayra cita, no ofrece API documentadas y compatibles. Google incluso les ha dicho explícitamente a los desarrolladores que no usen las técnicas descritas en el tutorial que Mayra cita.
Otra opción es agregar eventos al calendario de Internet en cuestión. Por ejemplo, la mejor manera de agregar eventos a la aplicación Calendario desde el proyecto de código abierto de Android es agregar el evento al Google Calendar del usuario a través de las API de GData apropiadas.
ACTUALIZAR
Android 4.0 (API Nivel 14) agregado a
CalendarContract
ContentProvider
.fuente
Prueba esto en tu código:
fuente
Use esta API en su código. Le ayudará a insertar un evento, se puede habilitar un evento con recordatorio y un evento con reunión ... Esta API funciona para la plataforma 2.1 y superior Aquellos que usan menos de 2.1 en lugar de contenido: // com .android.calendar / events usa contenido: // calendar / events
fuente
event.put("eventTimezone", "UTC/GMT +2:00")
y eliminadoevent.put("visibility", 3)
eevent.put("transparency", 0)
y funciona bienandroid.database.sqlite.SQLiteException
en líneaUri reminderUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
utilicé el siguiente código, resuelve mi problema al agregar un evento en el calendario predeterminado del dispositivo en ICS y también en la versión menos que ICS
Espero que ayude .....
fuente
A partir de la versión 4.0 de Android, las API e intenciones oficiales están disponibles para interactuar con los proveedores de calendario disponibles .
fuente
En caso de que alguien necesite esto para Xamarin en C #:
Funciones de ayuda:
fuente
Google calendar es la aplicación de calendario "nativa". Hasta donde yo sé, todos los teléfonos vienen con una versión instalada, y el SDK predeterminado proporciona una versión.
Puede consultar este tutorial para trabajar con él.
fuente
Prueba esto ,
fuente
si tiene una cadena de fecha dada con fecha y hora.
por ej.
String givenDateString = pojoModel.getDate()/* Format dd-MMM-yyyy hh:mm:ss */
use el siguiente código para agregar un evento con fecha y hora al calendario
fuente
tienes que agregar bandera:
o causarás un error con:
startActivity()
desde fuera de un contexto de actividad requiere elFLAG_ACTIVITY_NEW_TASK
fuente