logo
Bienvenido visitante. Para activar todas las funcionalidades, por favor Iniciar sesión o Registrarse.

Aviso

Icon
Error

Opciones
Ir a la última publicación
eledu20  
#1 Publicado : miércoles, 21 de enero de 2015 21:09:05(UTC)
eledu20

Posición: Newbie

Grupos: Registered
Registrado: 21/01/2015(UTC)
Mensajes: 5
Ubicación: Madrid

Fue agradecido: 1 vez/veces in 1 publicación(es).
Hola a todos desarrolladores y entusiastas!!!!!!!


Soy nuevo en ésto (antes solo codeaba en shell, vb y php) y me encuentro un poco fuera de lugar cuando quiero hacer que una servicio llame a otro en un momento determinado del día (repitiendose ésto cada día). He probado un par de cosas pero siempre se me para la aplicación al iniciar el servicio concreto. Ahora estoy con un servicio con una clase tal que así:

Código:
package com.example.alertasvarias;

import java.util.Calendar;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.provider.CalendarContract;
import android.widget.Toast;



public class CatchChangesReceiver extends BroadcastReceiver {

	 @Override
	    public void onReceive(Context context, Intent intent) {
			Toast.makeText(getApplicationContext(), "Prueba de si funciona", Toast.LENGTH_LONG).show();

			
			
			// add processing here with some query to content provider
	        // in my project I use this selection for getting events:
	         final String SELECTION = CalendarContract.Events.CALENDAR_ID + "=("
	            + CalendarContract.Events.DIRTY + "=" + 1 + " OR "
	            + CalendarContract.Events.DELETED + "=" + 1 + ")" + " AND "
	            + CalendarContract.Events.DTEND + " > "
	            + Calendar.getInstance().getTimeInMillis();
	   }

	private Context getApplicationContext() {
		// TODO Auto-generated method stub
		return null;
	}
}


Y en el activity principal le llamo así:

Código:
		Calendar cal = Calendar.getInstance();
		Intent activate = new Intent(this, CatchChangesReceiver.class);
		AlarmManager alarms ;
		PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, activate, 0);
		alarms = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
		int hora = cal.get(Calendar.HOUR);
		int minutos = cal.get(Calendar.MINUTE);
		cal.set(Calendar.HOUR_OF_DAY, hora);
		cal.set(Calendar.MINUTE, minutos+1);
		cal.set(Calendar.SECOND, 00);
		alarms.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), alarmIntent);



No me cuadran muchas cosas, porque imaginaba que el listener sería algo más fácil al ser algo propio de Android, del estilo
Código:
protected void onCalendarUpdate(int hora, int minuto, int dayOfWeek, activity()) {
		super.onCreate(savedInstanceState);
		
		

	}

  public void activity(View v){
    	Intent i = new Intent(CfgActivity.this, MainActivity.class);
    	startActivity(i);
    	finish();
//por ejemplo
    }


Pero nada, no me funciona ni en emulador ni en real. Llevo varios días dandome de leches y la verdad es que me siento un poco pez en ésto. He añadido las líneas al manifest y todo, pero nada... ¿Alguna sugerencia de algún alma caritativa?



Gracias y un saludo a tod@s.
eledu20  
#2 Publicado : sábado, 24 de enero de 2015 14:43:19(UTC)
eledu20

Posición: Newbie

Grupos: Registered
Registrado: 21/01/2015(UTC)
Mensajes: 5
Ubicación: Madrid

Fue agradecido: 1 vez/veces in 1 publicación(es).
nada, me autorespondo: No lo estaba llamando correctamente XD jajajaja ahora funciona perfecto



Saludos.
thanks 1 usuario agradecido eledu20 por esta útil publicación.
admin en 01/02/2015(UTC)
admin  
#3 Publicado : domingo, 1 de febrero de 2015 20:32:44(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
muy bien!! ;p
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
Usuarios navegando este tema
Guest (2)
Salto de foro  
No puedes iniciar nuevos temas en este foro.
No puedes responder a temas en este foro.
No puedes eliminar sus temas en este foro.
No puedes editar sus temas en este foro.
No puedes crear encuestas en este foro.
No puedes votar las encuestas en este foro.