android - safe - Señal fatal 11(SIGSEGV), código 1, código de fallo(RenderThread)
safe service android (0)
Intento detener un servicio cuando se hace doble clic en un elemento adjunto a windowmanager.
@Override public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Get current time in nano seconds.
long pressTime = System.currentTimeMillis();
// If double click...
if (pressTime - lastPressTime <= 300) {
createNotification();
ServiceFloating.this.stopSelf();
mHasDoubleClicked = true;
}
else { // If not double click....
mHasDoubleClicked = false;
}
lastPressTime = pressTime;
initialX = paramsF.x;
initialY = paramsF.y;
initialTouchX = event.getRawX();
initialTouchY = event.getRawY();
break;
case MotionEvent.ACTION_UP:
if(event.getRawX() - initialTouchX >40)
{
paramsF.x = (int)dispwidth;
paramsF.y = initialY + (int) (event.getRawY() - initialTouchY);
ObjectAnimator animY = ObjectAnimator.ofFloat(layout, "translationX", 100f, 0f);
animY.setDuration(1000);//1sec
animY.setInterpolator(new BounceInterpolator());
animY.setRepeatCount(0);
animY.start();
}
else if(initialTouchX-event.getRawX()>40){
paramsF.x = 0;
paramsF.y = initialY + (int) (event.getRawY() - initialTouchY);
ObjectAnimator animY = ObjectAnimator.ofFloat(layout, "translationX", -100f, 0f);
animY.setDuration(1000);//1sec
animY.setInterpolator(new BounceInterpolator());
animY.setRepeatCount(0);
animY.start();
}
windowManager.updateViewLayout(layout, paramsF);
break;
case MotionEvent.ACTION_MOVE:
paramsF.x = initialX + (int) (event.getRawX() - initialTouchX);
paramsF.y = initialY + (int) (event.getRawY() - initialTouchY);
windowManager.updateViewLayout(layout, paramsF);
break;
}
return false;
}
});
} catch (Exception e) {
// TODO: handle exception
}
Pero tan pronto como se hace doble clic en el elemento, la aplicación se bloquea con el siguiente en logcat:
swapBuffers encontró EGL_BAD_SURFACE en 0xb8f18fb0, deteniendo la representación ... 02-22 01: 38: 26.189 7191-7213 / fr.anthonyfernandez.floatingmenu W / Adreno-EGLSUB:: dequeue error de búfer nativo: No dicho dispositivo, buffer = 0x0, handle = 0x0 02-22 01: 38: 26.189 7191-7213 / fr.anthonyfernandez.floatingmenu W / Adreno-EGLSUB:: dequeue error de búfer nativo: No dicho dispositivo, buffer = 0x0, handle = 0x0 02-22 01: 38: 26.189 7191 -7213 / fr.anthonyfernandez.floatingmenu W / Adreno-EGL:: EGL_BAD_SURFACE 02-22 01: 38: 26.189 7191-7213 / fr.anthonyfernandez.floatingmenu W / OpenGLRenderer: swapBuffers encontró EGL_BAD_SURFACE en 0xb8916958, deteniendo la representación ... 02- 22 01: 38: 26.221 7191-7213 / fr.anthonyfernandez.floatingmenu A / libc: Señal fatal 11 (SIGSEGV), código 1, código de error 0x54 en tid 7213 (RenderThread)