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.
|
|
|
|
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.
|
1 usuario agradecido eledu20 por esta útil publicación.
|
|
|
Posición: Administration
Grupos: Administrators
Registrado: 07/10/2010(UTC) Mensajes: 436 Ubicación: España Agradecimientos: 38 veces Fue agradecido: 49 vez/veces in 48 publicación(es).
|
|
|
|
|
|
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.