0
的Android服務這裏是我的代碼:不停止自我
@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
}
這是我的onDestroy()
@Override
public void onDestroy() {
super.onDestroy();
if (safe != null) windowManager.removeView(safe);
}
凡safe
是LinearLayout
在我的窗口管理對象在我的OnCreate 服務啓動和運行重視精細。當我點擊一個按鈕的調用stopService(new Intent(MainActivity.this, ServiceFloating.class));
從我的主要活動,我可以停止服務,但是當我嘗試從它自己的觀點與Fatal signal 11 error
停止服務應用程序崩潰並重新啓動我怎麼能阻止它自己的服務視圖?
但我不希望它從活動停止。 – user3677331 2015-02-24 20:51:26
我不明白你的意思,從它自己的角度停止服務。服務沒有任何佈局。你想從哪裏阻止它? – masana 2015-02-24 21:22:54
https://play.google.com/store/apps/details?id=com.boatmob.floating.touch&hl=en這種事情正在通過服務來完成,並將視圖添加到窗口管理器 – user3677331 2015-02-24 21:44:37