Foros del Web » Programando para Internet » Android »

¿Activity o service?

Estas en el tema de ¿Activity o service? en el foro de Android en Foros del Web. Saludos!!! tengo una duda. En mi aplicacíon necesito que en un momento dado el móvil emita un pulso de vibración, pero me gustaría que el ...
  #1 (permalink)  
Antiguo 30/08/2011, 00:40
Avatar de atapuerkasman  
Fecha de Ingreso: febrero-2011
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 2
¿Activity o service?

Saludos!!! tengo una duda. En mi aplicacíon necesito que en un momento dado el móvil emita un pulso de vibración, pero me gustaría que el programa siguiera ejecutandose en el activity en curso.

¿que me recomendais que haga? y ¿como se pone en segundo plano? ya que estoy bastante perdido en eso.

Muchas gracias.
  #2 (permalink)  
Antiguo 30/08/2011, 14:00
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 13 años, 5 meses
Puntos: 74
Respuesta: ¿Activity o service?

Como siempre que mejor que leerte la pagina de los creadores
Si lo que quieres es una notificacion pues buscamos eso.
Mira aqui esta el link dale una leida en la parte del DEFAULT_VIBRATE
http://developer.android.com/referen...ification.html
Y también a esta parte para que sepas como usarlas
http://developer.android.com/guide/t...fications.html
  #3 (permalink)  
Antiguo 31/08/2011, 02:36
Avatar de atapuerkasman  
Fecha de Ingreso: febrero-2011
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: ¿Activity o service?

No cocnsigo hacer que funcione os pongo el código por si me podeis ayudar.


Código:
PendingIntent intencion=iniciaralerta();
locationmanager.addProximityAlert((double)datos.getLatitud()/1000000, (double)datos.getLongitud()/1000000, 500, -1, intencion);


Código:
public PendingIntent iniciaralerta(){
		not = Context.NOTIFICATION_SERVICE;
        notificationmanager = (NotificationManager) getSystemService(not);
        
        int icon = R.drawable.icono;
		CharSequence tickerText = "Alerta";
		long when = System.currentTimeMillis();
		
        notificacion = new Notification(icon, tickerText, when);
		//notificacion.defaults |= Notification.DEFAULT_VIBRATE;
		
		
		
		CharSequence contentTitle = "Alerta";
		CharSequence contentText = "¡Enemigo Cercano!";
		
		Intent alertacercania = new Intent(this, localizacionmanual.class);
		alertacercania.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
		
		PendingIntent intent = PendingIntent.getActivity(this, 0, 
				alertacercania, PendingIntent.FLAG_NO_CREATE);

		notificacion.setLatestEventInfo(context, contentTitle, contentText, intent);


		
        notificacion.flags |= Notification.DEFAULT_VIBRATE;

        long[] pattern = {0,100,200,300};

        
        notificacion.vibrate = pattern;
        
        notificationmanager.notify(HELLO_ID, notificacion);
		return intent;
	}
  #4 (permalink)  
Antiguo 31/08/2011, 08:42
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 13 años, 5 meses
Puntos: 74
Respuesta: ¿Activity o service?

prueba cambiando esta parte
notification.defaults |= Notification.DEFAULT_VIBRATE;
yo nunca e usado lo de vibrar y esas cosas pero en la pagina que te pase asi lo ponen mientras que tu le pusiste flags
  #5 (permalink)  
Antiguo 31/08/2011, 09:02
Avatar de atapuerkasman  
Fecha de Ingreso: febrero-2011
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: ¿Activity o service?

ni me había dado cuenta de que había cambiado ese parámetro. Lo acabo de probar este es el error que me muestra cuando entro dentro de un radio de amenaza


Código:
08-31 14:58:59.423: ERROR/LocationManagerService(52): Exception in LocationWorkerHandler.handleMessage:
08-31 14:58:59.423: ERROR/LocationManagerService(52): java.lang.NullPointerException
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at com.android.server.LocationManagerService$ProximityListener.onLocationChanged(LocationManagerService.java:1227)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at com.android.server.LocationManagerService$Receiver.callLocationChangedLocked(LocationManagerService.java:291)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at com.android.server.LocationManagerService.handleLocationChangedLocked(LocationManagerService.java:1569)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at com.android.server.LocationManagerService.access$1600(LocationManagerService.java:81)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at com.android.server.LocationManagerService$LocationWorkerHandler.handleMessage(LocationManagerService.java:1623)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at android.os.Looper.loop(Looper.java:123)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at com.android.server.LocationManagerService.run(LocationManagerService.java:600)
08-31 14:58:59.423: ERROR/LocationManagerService(52):     at java.lang.Thread.run(Thread.java:1060)

ahora me esta fallando esta linea:
notificationmanager.notify(ALERT_ID, notificacion);

Tengo 2 notificaciones y he definido:
Código:
private static final int HELLO_ID = 1;
	private static final int ALERT_ID= 90;
mira el error
Código:
08-31 15:40:35.229: ERROR/AndroidRuntime(215): Uncaught handler: thread main exiting due to uncaught exception
08-31 15:40:35.239: ERROR/AndroidRuntime(215): java.lang.IllegalArgumentException: contentIntent required: pkg=com.proyecto.android id=2 notification=Notification(vibrate=[0,100,200,300],sound=null,defaults=0x2)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.os.Parcel.readException(Parcel.java:1222)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.os.Parcel.readException(Parcel.java:1206)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.app.INotificationManager$Stub$Proxy.enqueueNotification(INotificationManager.java:152)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.app.NotificationManager.notify(NotificationManager.java:94)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at com.proyecto.android.localizacionmanual.iniciaralerta(localizacionmanual.java:895)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at com.proyecto.android.localizacionmanual$5.onLocationChanged(localizacionmanual.java:821)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:180)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:113)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:129)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.os.Looper.loop(Looper.java:123)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at android.app.ActivityThread.main(ActivityThread.java:4203)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at java.lang.reflect.Method.invokeNative(Native Method)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at java.lang.reflect.Method.invoke(Method.java:521)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
08-31 15:40:35.239: ERROR/AndroidRuntime(215):     at dalvik.system.NativeStart.main(Native Method)


que tengo que hacer, uno distinto para cada notificación?? ¿el mismo para todas las notificaciones??

Última edición por atapuerkasman; 31/08/2011 a las 09:45
  #6 (permalink)  
Antiguo 31/08/2011, 10:53
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 13 años, 5 meses
Puntos: 74
Respuesta: ¿Activity o service?

Cha ahora si estoy igual que tu jeje; llegaste a una zona donde debes estar rascandole a tu código hasta que te corra bien. No sabría decirte a que se debe ese error pero creo que andas haciendo un juego verdad? deberías consultar alguna pagina que se dedique a eso deja busco algo haber si encuentro algo y te aviso va.
Suerte en todos modos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.