PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "KS");
wl.acquire();
public void onCreate() {
super.onCreate();
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "KS");
wl.acquire();
final Handler handlerTmr = new Handler();
timer = new Timer();
TimerTask doAsync = new TimerTask()
{
@Override
public void run() {
handlerTmr.post(new Runnable() {
public void run() {
new Async().execute();
}
});
}
};
timer.schedule(doAsync, 2000, 10000);
}
private class Async extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
Vibrator vibrate = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrate.vibrate(1000);
return true;
}
@Override
protected void onPostExecute(Boolean fin) {
}
}
--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/16b8f7b3-319e-490a-aec9-fe5d59ce4be6%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Dudo que para probar tu app tengas que desconectarlo, seguramente hay alguna opción en el modo depuración o en la conexión USB. De todas maneras podrías crear un archivo en el que vas escribiendo la salida del log ;)
Yo e creado de esa, forma aplicaciones donde el service maneja la comunicación de la aplicación siempre en segundo plano sin problemas ;)
Seguramente el SO esta matando tu service, debes usar los ;)
Sino como sabes que es lo que le esta pasando a tu aplicación? Viste el ciclo de vida del service, fíjate que no es igual al de un activity. Como levantas el services? Haces un bind con en activity o lo levantas en un proceso separado?
Tenés que mostrarnos la salida del log y el código donde levantas el services ;)
Gracias por responder Gabriel. Si, se usar los logs, pero no me sirve para nada ya que tengo que desconectar el dispositivo de la computadora. Mientras se está cargando, no se suspende nada, el problema viene cuando deja de cargar y apago la pantalla, así que no puedo averiguarlo poniendo logs.
Y sobre lo último que me pasaste, intenté usar el servicio de alarma, pero el intervalo mínimo que tiene es cada 15 minutos, yo necesito que el código se ejecute una vez por minuto. Estuve averiguando sobre el WakefulBroadcastReceiver, pero no se bien como funciona y me parece que no me sirve para lo que yo quiero hacer.
--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/be6c6949-da36-4cfb-af8e-f08d06cadab6%40googlegroups.com.
P.D: el wake lock, te sería de utilidad para por ejemplo un vídeo juego, porque? Que hace realmente?
startService(new Intent(this, Servicio.class));
--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/246cc3a9-e5a4-4776-832e-2e50c1601809%40googlegroups.com.
public class KService extends Service {
@Override
public void onCreate() {
super.onCreate();
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "KS");
wl.acquire();
final Handler handlerTmr = new Handler();
Timer timer = new Timer();
TimerTask doAsync = new TimerTask()
{
@Override
public void run() {
handlerTmr.post(new Runnable() {
public void run() {
new Async().execute();
}
});
}
};
timer.schedule(doAsync, 1000, 10000);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onDestroy() {
}
private class Async extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
Vibrator vibrate = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrate.vibrate(500);
return true;
}
@Override
protected void onPostExecute(Boolean fin) {
}
}
}
public class MainActivity extends ActionBarActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startService(new Intent(this, KService.class));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
}
}