¿Android proporciona una API para determinar los días de fin de semana que es local-consciente?

Quiero proporcionar un estilo a una aplicación que tenga en cuenta los días de trabajo y los fines de semana, pero necesito que sea regional. Soy consciente de Calendar#getFirstDayOfWeek , pero esto sólo devuelve el primer día de la semana, no el primer día de la semana de trabajo.

Por ejemplo, con English (Canada) Calendar#getFirstDayOfWeek devuelve Calendar.SUNDAY , que es el primer día de nuestra semana. Nuestra semana de trabajo comienza en Calendar.MONDAY , y nuestros días de fin de semana son Calendar.SATURDAY y Calendar.SUNDAY .

En inglés (Reino Unido), Calendar#getFirstDayOfWeek devuelve Calendar.MONDAY y el primer día de su semana de trabajo es el lunes. Sus días de fin de semana son Calendar.SATURDAY y Calendar.SUNDAY .

Las cosas se complican para locales como el hebreo. El primer día de su semana es Calendar.SUNDAY , pero en lugar del primer día de su semana de trabajo es Calendar.MONDAY , es Calendar.SUNDAY . Sus días de fin de semana son Calendar.FRIDAY y Calendar.SATURDAY . Egipto es el mismo.

Irán sólo tiene un día de fin de semana, Calendar.FRIDAY .

¿Hay algún método en Android para determinar los días de fin de semana? Tenemos una lógica en su lugar que cubre la mayoría de los casos occidentales, pero es frágil, y una API de la comunidad que conoce la configuración regional es ideal, pero no soy consciente de ello.

Tenga en cuenta, no estoy pidiendo una recomendación sobre algunos "mejor" biblioteca o cualquier cosa de la clase. Estoy preguntando si existe alguna información regional sobre la plataforma Android en absoluto, y si es así, qué llamadas de API existen para acceder a estos datos.

Existen nuevas API de instantáneas y vallas en la API de conocimiento para su caso de uso para una API con conocimiento de idioma local para el tiempo.

Por favor, eche un vistazo a Awareness.SnapshotApi.getTimeIntervals que devuelve un TimeIntervalsResult. Puede llamar al método getTimeIntervals () para devolver un objeto que tenga información sobre las propiedades de la hora actual en el entorno local actual (específicamente el fin de semana y las vacaciones que ha solicitado).

Por ejemplo, el fragmento de código siguiente comprueba si se trata de un fin de semana en la configuración regional del dispositivo en el momento de la llamada api de snapshot.

 Awareness.SnapshotApi.getTimeIntervalsmGoogleApiClient) .setResultCallback(new ResultCallback<TimeIntervalsResult>() { @Override public void onResult(@NonNull TimeIntervalsResult result) { if (!result.getStatus().isSuccess()) { Log.e(TAG, "Could not get the time intervals"); return; } if (result.getTimeIntervals().hasTimeInterval( TimeFence.TIME_INTERVAL_WEEKEND)) { // do your custom action, this means it is weekend at the // device locale at this time } } 

Si desea que su aplicación obtenga una devolución de llamada el próximo fin de semana o vacaciones en la configuración regional del dispositivo, puede utilizar el nuevo TimeFence Api inTimeInterval () . Por ejemplo, pedir prestado el fragmento de código de los documentos del desarrollador,

 // Create TimeFence AwarenessFence weekendHolidayFence = Awareness.or( TimeFence.inTimeInterval(TimeFence.TIME_INTERVAL_WEEKEND), TimeFence.inTimeInterval(TimeFence.TIME_INTERVAL_HOLIDAY)) Awareness.FenceApi.updateFences( mGoogleApiClient, new FenceUpdateRequest.Builder() .addFence("fenceKey", weekendHolidayFence, myPendingIntent) .build()) .setResultCallback(new ResultCallback<Status>() { @Override public void onResult(@NonNull Status status) { if (status.isSuccess()) { Log.i(TAG, "Fence was successfully registered."); } else { Log.e(TAG, "Fence could not be registered: " + status); } } }); 
  • Actividad de calendario para ver semana y vista de día
  • Android: ¿Cómo cambiar el color del dataselector en el widget Datepicker?
  • Obtener la fecha actual como advertencia de cadena obsoleta toGmtString () issue
  • Android CalendarView desaceleración de diseño
  • ¿Cómo puedo ayudar a un usuario a suscribirse a un calendario externo al calendario de Google en un dispositivo Android?
  • Android Formato de fecha con zona horaria
  • ¿Cómo llegar a editar evento en el calendario a través de código de programación?
  • No se puede recibir la transmisión android.intent.action.EVENT_REMINDER
  • Calendario Android DTSTART y DTEND problemas
  • Implementar calendario lunar en Android
  • ¿Hay alguna biblioteca o algoritmo para el calendario persa (Shamsi o Jalali) en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.