Estoy intentando actualizar mi IU en FirstActivity
cuando recibo una notificación pero me confunden runOnUiThread
, Runnable
y Handler
. Esto es lo que tengo: estoy ejecutando FirstActivity y NotificationService. Cuando NotificationService reenvía una notificación, actualizará la IU de FirstActivity.Actualización de la IU desde un servicio (¿con un controlador?)
También tengo otro servicio AlarmService
ejecutándose. Primera Actividad
@Override
public void onResume() {
super.onResume();
//some other code for alarm service
}
NotificationService
//on receiving notification
private void showNotification(String text) {
//Get activity
Class<?> activityClass = null;
try {
activityClass = Class.forName("com.pakage.FirstActivity");
contextActivity = (Activity) activityClass.newInstance();
//Update UI on FirstActivity not working
contextActivity.runOnUiThread(new Runnable() {
public void run()
{
Looper.prepare();
TextView tv = (TextView) contextActivity.findViewById(R.id.notifyTest);
Looper.loop();
}
});
} catch (Exception e) {
e.printStackTrace();
}
//Shows the notification
Notification n = new Notification();
//... etc
}
sigo obteniendo el error looper.prepare. ¿Debo poner códigos adicionales en mi FirstActivity?
¿Puede mostrarnos los mensajes en su registro de logcat? Además, ¿cómo declaraste a Looper? –
Obtengo 'No se puede crear el controlador dentro de la hebra que no ha llamado al error Looper.prepare()'. Looper se declara en el método 'showNotification' sobre – newbie