xperia precio lt30p hard caracteristicas android calendar sony

android - precio - sony xperia t lt30p



EmisiĆ³n de la cuenta de calendario de Sony Xperia T(ST26) (2)

Creo que la aplicación de calendario del dispositivo debe instalar un calendario cuando lo abra, que puede no estar disponible antes de abrirlo después de un restablecimiento de fábrica.

Creo que no quiere que el usuario tenga que abrir la aplicación de calendario. Si no le importa que la aplicación de calendario se abra en segundo plano, podría considerar abrirla a través de un Service y luego cerrarla pronto para que el usuario no lo note y el calendario del dispositivo esté disponible.

android-codes-examples.blogspot.in/2011/11/... Compruebe este enlace, ¿es útil?

Después del restablecimiento de fábrica del dispositivo. Estoy tratando de recuperar los nombres desplegables de los calendarios (por el código a continuación), devuelve que no hay calendarios. pero al abrir la aplicación Calendario del dispositivo al menos una vez, el calendario predeterminado del teléfono se recuperará correctamente.

¿Hay alguna forma de recuperar los calendarios (especialmente los predeterminados) sin abrir la aplicación Calendario del dispositivo?

Gracias por adelantado.

Aquí está el código para recuperar los calendarios que existen en el dispositivo:

private Uri getCalendarUri() { return Uri.parse(Integer.parseInt(Build.VERSION.SDK) > 7 ? "content://com.android.calendar/calendars" : "content://calendar/calendars"); } private String[] getCalendars(Context context) { String[] res = null; ContentResolver contentResolver = context.getContentResolver(); Cursor cursor = null; try { cursor = contentResolver.query( getCalendarUri(), Integer.parseInt(Build.VERSION.SDK) > 13 ? new String[]{"_id", "calendar_displayName"} : new String[]{"_id", "displayName"}, null, null, "_id ASC"); if (cursor.getCount() > 0) { res = new String[cursor.getCount()]; int i = 0; while (cursor.moveToNext()) { res[i] = cursor.getString(0) + ": " + cursor.getString(1); i++; } } } catch (Exception e) { e.printStackTrace(); } finally { if (cursor != null) cursor.close(); } return res; }


Resolví el problema.

usando este código en mi actividad:

private static boolean calendar_opened = false; private void openCalendar() { String[] calendars = getCalendars(this); if (!calendar_opened && calendars != null && calendars.length <= 0) { new Timer().schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { public void run() { try { //bring back my activity to foreground final Intent tmpIntent = (Intent) MainScreen.this.getIntent().clone(); tmpIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); tmpIntent.setClass(MyExams.getInstance(), MainScreen.class); PendingIntent.getActivity(MyExams.getInstance(), 0, tmpIntent, PendingIntent.FLAG_UPDATE_CURRENT).send(); } catch (Exception e) { } } }); } }, 100 );//time is your dissection Intent i = new Intent(); i.setClassName("com.android.calendar", "com.android.calendar.LaunchActivity"); i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); startActivity(i); calendar_opened = true; } } //After my activity is on foreground I killed the calendar using this code, even there''s no need because of FLAG_ACTIVITY_NO_HISTORY: ActivityManager activityManager = (ActivityManager) MainScreen.this.getSystemService(Context.ACTIVITY_SERVICE); activityManager.killBackgroundProcesses("com.android.calendar");