Me gustaría poner una barra de progreso en la barra de notificaciones. La idea es mostrar la barra de progreso mientras el programa carga un archivo a un servidor. Todo lo demás está bien, pero no puedo descifrar cómo actualizar la barra de progreso dentro de la notificación. ¿Alguien sabe algún patrón para jugar? Quiero decir, dónde debería actualizar la barra de progreso, en un servicio o actividad y así.Actualizar la barra de progreso en la barra de notificaciones
Respuesta
no sé lo que su código es similar, por lo que no saben lo que hay que modificar, buti hizo un poco de búsqueda a través de la documentación. Encontré algunas cosas en Notifications, ProgressBars y RemoteViews.
Específicamente, en RemoveView, puede actualizar la barra de progreso. Así que la combinación de algunos de los ejemplos de código en cada enlace, me sale algo como esto:
public class MyActivity extends Activity {
private static final int PROGRESS = 0x1;
private static final int MAX_PROGRESS = 100;
private int mProgressStatus = 0;
private Handler mHandler = new Handler();
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
//define Notification
//...
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout);
contentView.setProgressBar(R.id.progress_bar, MAX_PROGRESS, mProgressStatus, false);
notification.contentView = contentView;
// Start file upload in a background thread
new Thread(new Runnable() {
public void run() {
while (mProgressStatus < MAX_PROGRESS) {
mProgressStatus = doWork();
// Update the progress bar
mHandler.post(new Runnable() {
public void run() {
contentView.setProgressBar(R.id.progress_bar, MAX_PROGRESS, mProgressStatus, false);
}
});
}
}
}).start();
}
}
¿tiene que tener una barra de progreso definida en su diseño xml personalizado? ¿O lo hará RemoteViews.setProgressBar()? El motivo por el que pregunto es porque http://developer.android.com/reference/android/widget/RemoteViews.html#setProgressBar(int, int, int, boolean) dicen "La id de la vista cuyo texto debería cambiar " – Pzanno
@Pzanno - Me preguntaba exactamente lo mismo (por lo tanto, el +1). Descubrí que debe definir su propia barra de progreso en su diseño xml personalizado. – ArtOfWarfare
buen ejemplo ... también estoy usando la barra de progreso en mi vista principal pero ... cuelga mi sistema no sé por qué ... todo va bien con la barra de progreso de notificación predeterminada –
Puede utilizar vistas personalizadas en la Notificación:
https://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomExpandedView
Resulta que esta respuesta es la única que funcionó para mí, pero hay una enorme cantidad de información para leer que realmente no se puede ponlo todo en una respuesta concisa. El enlace es a la documentación oficial, si cambia simplemente actualice el enlace. –
Para eliminar un ProgressBar del RemoteView utilice el siguiente código: -
remoteViews.setViewVisibility(R.id.progressBar, View.INVISIBLE);
También puede utilizar View.GONE
pero eso hará que Android llene el espacio vacío.
- 1. Barra de progreso en la barra de notificaciones al cargar la imagen?
- 2. Actualizar una barra de progreso en mathematica
- 3. ¿Desea actualizar la barra de progreso de AsyncTaskLoader?
- 4. barra de progreso en la barra de título
- 5. WPF C# - Actualizar la barra de progreso desde otra secuencia
- 6. Subir la barra de progreso en Android?
- 7. Ocultar barra de notificaciones
- 8. Barra de progreso vertical
- 9. Eliminar notificaciones de la barra de notificaciones de otras aplicaciones
- 10. Falsificación de la barra de progreso
- 11. wxPython barra de progreso
- 12. barra de progreso circular
- 13. ¿Cómo eliminar el número de la barra de progreso en la parte inferior de la barra de progreso?
- 14. oscilación con barra de progreso
- 15. Barra de progreso de Python
- 16. stackoverflow barra de notificaciones estilo
- 17. Android: Administración de notificaciones múltiples en la barra de estado
- 18. La barra de progreso no se actualiza durante la operación
- 19. Django-apio barra de progreso
- 20. HTML5 Audio - Barra de progreso
- 21. Barra de progreso para AVAssetExportSession
- 22. cómo usar la barra de progreso en la aplicación iphone
- 23. cómo mostrar la barra de progreso en la vista web?
- 24. QT barra de progreso velocidad
- 25. Android: eliminar la notificación de la barra de notificaciones
- 26. Cómo obtener el botón de la barra de tareas de Windows para mostrar el progreso de la barra de progreso
- 27. Barra de progreso personalizado Android
- 28. Haciendo una Barra de Progreso Skinny Customizada/barra de búsqueda
- 29. Barra de progreso de Windows 7 en la barra de tareas en C#?
- 30. Solicitud de sincronización Bluetooth en la barra de notificaciones?
No sé si es posible. ¿Has probado con un gif animado? – Macarse
Todavía no, pero necesito mostrar en tiempo real el progreso de la carga, así que de alguna manera tengo que actualizar la barra de progreso. Creo que usar un gif animado es válido si solo muestra un mensaje de "carga" más o menos. De todos modos, gracias por su tiempo. – ahmontero
estoy seguro de que es posible. La aplicación Market muestra una barra de progreso al descargar e instalar aplicaciones en la barra de notificaciones ... – seanmonstar