Error al insertar el evento en el calendario con intención
Estoy tratando de insertar eventos en el calendar
de un fragmento, pero sigo recibiendo un error que no se encuentra actividad para manejar Intent.
Aquí está el error –
- Cómo calcular el número de semana para la fecha determinada Android
- La eliminación de todos los eventos del calendario local funciona, pero activa un error que ha eliminado demasiados eventos
- ¿Cómo cambiar el lenguaje de calendario nativo de Android?
- ¿Cómo agregar 7 días a la fecha actual sin pasar por los días disponibles de un mes?
- Android: selector de fechas del calendario popdown
android.content.ActivityNotFoundException: Ninguna actividad encontrada para manejar Intent {act = android.intent.action.INSERT cat = [android.intent.category.APP_CALENDAR] typ = vnd.android.cursor.item / event (tiene extras)}
Aquí está mi código:
Intent intent = new Intent(Intent.ACTION_INSERT); intent.addCategory(Intent.CATEGORY_APP_CALENDAR); intent.setType("vnd.android.cursor.item/event"); intent.putExtra(Events.TITLE, "Phototherapy Treatment"); intent.putExtra(Events.EVENT_LOCATION, ""); intent.putExtra(Events.DESCRIPTION, "Phototherapy Treatment"); // Setting dates Calendar calDate = Calendar.getInstance(); intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME,calDate.getTimeInMillis()); intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, calDate.getTimeInMillis()+60*60*1000); // Make it a full day event intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, false); // Make it a recurring Event intent.putExtra(Events.RRULE, "FREQ=WEEKLY;COUNT="+Integer.valueOf(No.getText().toString())+";" +"WKST=SU;BYDAY="+days); // Making it private and shown as busy intent.putExtra(Events.ACCESS_LEVEL, Events.ACCESS_PRIVATE); intent.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY); startActivity(intent);
Filtro de intenciones
<intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.INSERT" /> <category android:name="android.intent.category.APP_CALENDAR" /> <data android:mimeType="vnd.android.cursor.item/event" /> </intent-filter>
- Actualización de eventos de calendario de Android SQLiteException
- ¿Cómo consultar los nuevos recordatorios de la aplicación de calendario para Android?
- Cómo llenar la sección Recordatorios de forma programática en la aplicación Calendario de dispositivos Android?
- Webcal: // soporte en Android no funciona - hay una alternativa de alimentación de calendario compatible
- No se puede recibir la transmisión android.intent.action.EVENT_REMINDER
- ¿Cómo obtener todos los eventos del calendario?
- Agregar evento semanal al calendario
- Android: ¿Cómo cambiar el color del dataselector en el widget Datepicker?
Utilicé intención intención = nueva intención (Intent.ACTION_EDIT); y parecía resolver el problema
si ya conoce la información que parece que hace, no necesita iniciar la aplicación de calendario, basta con insertar el evento en la base de datos y ver agregar eventos
También mirando los documentos APP_CALENDAR
sólo se utiliza con ACTION_MAIN
no ACTION_INSERT
La aplicación de calendario no se puede instalar en algunos dispositivos. Por lo tanto, encerrar dentro de try bloque de captura para comprobar.
Calendar startTymVar = Calendar.getInstance(); startTymVar.set(2015, 12, 31, 11, 30); Intent calendarIntentVar = new Intent(Intent.ACTION_INSERT) .setData(CalendarContract.Events.CONTENT_URI) .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, startTymVar.getTimeInMillis()) .putExtra(CalendarContract.Events.TITLE, "New Year") .putExtra(CalendarContract.Events.DESCRIPTION, "Hav ful fun"); try { startActivity(calendarIntentVar); } catch (ActivityNotFoundException ErrVar) { Toast.makeText(this, "Install Calender App", Toast.LENGTH_LONG).show(); }