Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 13/09/13, 17:30:44
Array

[xs_avatar]
jonathanval jonathanval no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2013
Mensajes: 19
Modelo de smartphone: s3
Tu operador: Movistar
rom Intent en thread??

Antes de todo gracias por vuestro tiempo!!

Ahora os comento: Tengo creado un thread con un sleep, cuando pasa un tiempo lanza otro método y éste a su vez otro, ésto se repite varias veces hasta que se llega a un límite de veces y a través de un intent pasamos a otra activity, pero lo que pasa es que nunca pasa a otra activity, sino que la app hace crash...

Me pone una serie de errores, siendo el primero java.lang.Runtimeexception: Unable to pause Activity... java.lang.IllegalException

Cual puede ser el error? Que estoy desesperado...
Responder Con Cita


  #2  
Viejo 13/09/13, 18:31:20
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Lanza la Activity desde un Handler. O mejor aún, usa un AsyncTask.

Los cambios en el UI se deben hacer desde el UI Thread. Ya sea lanzar una Activity nueva, cambiar un Fragment, o actualizar una View.
Responder Con Cita
  #3  
Viejo 13/09/13, 20:10:46
Array

[xs_avatar]
jonathanval jonathanval no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2013
Mensajes: 19
Modelo de smartphone: s3
Tu operador: Movistar
Ya lo he intentado, pero sigue dando el mismo error...
Cuando llega el momento de pasar a la otra activity entro en el asyntask pero sigue pasando lo mismo. No lo entiendo...
Responder Con Cita
  #4  
Viejo 13/09/13, 20:28:00
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Pero a ver... ¿llamas al AsyncTask desde el Thread? En ese caso tienes el mismo problema que antes, porque sigues ejecutando el Post del AsyncTask en el Thread, y no en el UI Thread.
Responder Con Cita
  #5  
Viejo 13/09/13, 20:53:14
Array

[xs_avatar]
jonathanval jonathanval no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2013
Mensajes: 19
Modelo de smartphone: s3
Tu operador: Movistar
Si, creo que eso es lo que estoy haciendo mal... Pero lo que no sé es como ejecutarlo desde fuera, es decir, yo estoy dentro de un "ciclo" y cuando llegue un contador a 20 ejecuto ese asyntask (como lo ejecuto desde fuera?)

Gracias!
Responder Con Cita
  #6  
Viejo 13/09/13, 21:37:03
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Haciendo que el "hilo" sea el "doInBackground" del AsyncTask, y cuando termina el contador simplemente no haces nada. Se ejecutará el "onPostExecute", y ahí es donde lanzas la nueva Activity.

Así que en el hilo principal en vez de crear el Thread y lanzarlo lo que haces es crear el AsyncTask y ejecutarlo.
Responder Con Cita
  #7  
Viejo 14/09/13, 06:50:43
Array

[xs_avatar]
jonathanval jonathanval no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2013
Mensajes: 19
Modelo de smartphone: s3
Tu operador: Movistar
A ver si es verdad eso de " A quién madruga dios le ayuda..." jajaja Porque ayer seguía sin salirme eso. Y hoy he intentado un cambio pero ná de ná...
Lo he modificado y he puesto asyntask donde antes había threads y handlers, pero creo que el problema está en el reconocimiento de voz. Me explico, abro el reconocimiento de voz a través del siguiente método:
protected void CogerSonido() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MO DEL, "es-ES");
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PAC KAGE,
"voice.recognition.test");
sr.startListening(intent);
d = new Dialog(CogerLoHablado.this);
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setContentView(R.layout.hablar);
d.show();
}
y después el hilo entra en la clase RecognitionListener que es la que se encarga de recibir el resultado de lo hablado. Y ahora (tras unas cuantas veces hecho este proceso) es cuando intento lanzar un intent para saltar a otra activity desde el onResults.

Un saludo! Y muchas gracias por anticipado y a ver si veis lo que yo soy incapaz de ver...
Pd: Kriogen, si el error está en el Asyntask yo no consigo ver como tengo que hacerlo...
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 09:31:08 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /