Android widget ¿cómo puede obtener el tiempo en hora y minuto de esto?
En mi aplicación, he creado widgets para mostrar la hora en formato de reloj analógico. Al hacer clic en el widget que realmente muestra la clase de alarma para establecer la alarma para ese widget y su también funciona bien.
Para eso he utilizado este código:
- Cómo cambiar el diseño del widget de fondo mediante programación
- Android: uso de la vista personalizada en el widget
- Android Widget deja de funcionar aleatoriamente
- ¿Cómo puedo hacer que un buscador Android se mueva sin problemas?
- ¿Por qué utilizar DialogFragment?
Cuando haga clic en el widget que llamo este en la actualización y obtener clase de alarma de esto:
PendingIntent pendingIntent = PendingIntent.getActivity( context, 0, getAlarmPackage(context), 0); rv_ana.setOnClickPendingIntent(R.id.clock, pendingIntent); appWidgetManager.updateAppWidget(appWidgetId, rv_ana);
Y método de la función de la alarma:
public Intent getAlarmPackage(Context context) { PackageManager packageManager = context.getPackageManager(); Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_LAUNCHER); String clockImpls[][] = { { "Standard Alarm", "com.android.alarmclock", "com.android.alarmclock.AlarmClock" }, { "HTC Alarm ClockDT", "com.htc.android.worldclock", "com.htc.android.worldclock.WorldClockTabControl" }, { "Standard Alarm ClockDT", "com.android.deskclock", "com.android.deskclock.AlarmClock" }, { "Froyo Nexus Alarm ClockDT", "com.google.android.deskclock", "com.android.deskclock.DeskClock" }, { "Moto Blur Alarm ClockDT", "com.motorola.blur.alarmclock", "com.motorola.blur.alarmclock.AlarmClock" }, { "Samsung Galaxy S", "com.sec.android.app.clockpackage", "com.sec.android.app.clockpackage.ClockPackage" } }; boolean foundClockImpl = false; for (int i = 0; i < clockImpls.length; i++) { String packageName = clockImpls[i][1]; String className = clockImpls[i][2]; try { ComponentName cn = new ComponentName(packageName, className); packageManager.getActivityInfo( cn, PackageManager.GET_META_DATA); AlarmClockIntent.setComponent(cn); foundClockImpl = true; } catch (NameNotFoundException nf) { } } if (foundClockImpl) { return AlarmClockIntent; } else { return null; } }
Pero mi requisito es de esta función de alarma cómo puedo conseguir tiempo en horas y tiempo en minutos. En realidad esa función muestra automáticamente la alarma pero quiero saber la hora. ¿Es posible o no? ¿Ayuadame?
- Android - widget de actualización sobre el servicio con datos de la red. ¿El mejor enfoque?
- Actividad de inicio de Android al presionar elemento ListView de widget
- Estilo de todas las vistas de texto (o vista personalizada) sin agregar el atributo de estilo a cada TextView
- ¿Cómo agregar un botón a las notificaciones en android?
- Recursos android de escala automática
- mensaje del widget android para desbloquear
- ¿Cómo mostrar un diálogo en un widget?
- El servicio no se reinicia después de que "Clear Memory" + appWidget se bloquea
Usted Si desea que la hora de alarma que puede utilizar esto.
String nextAlarm = Settings.System.getString(getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED);
Luego convertirlo a Fecha.
String string = nextAlarm;//Tue 8:30" Date date = new SimpleDateFormat("EEE HH:mm", Locale.ENGLISH).parse(string); System.out.println(date);
La pregunta no es tan clara para mí. Suponiendo que usted necesita para obtener la hora de alarma horas y minutos de la alarma.
final String tag_alarm = "tag_alarm"; Uri uri = Uri.parse("content://com.android.alarmclock/alarm"); Cursor c = getContentResolver().query(uri, null, null, null, null); Log.i(tag_alarm, "no of records are " + c.getCount()); Log.i(tag_alarm, "no of columns are " + c.getColumnCount()); if (c != null) { String names[] = c.getColumnNames(); for (String temp : names) { System.out.println(temp); } if (c.moveToFirst()) { do { for (int j = 0; j < c.getColumnCount(); j++) { Log.i(tag_alarm, c.getColumnName(j) + " which has value " + c.getString(j)); } } while (c.moveToNext()); } }