android 叠加视图 重启,android-后台应用程序以侦听拖动手势

根据您的链接,您的应用程序可以作为服务运行而无需“正常” UI即可运行,但是我认为您链接的代码可能有些过时了.

请记住,您的服务必须在前台运行-代码在您的链接中提供,但未明确调用.如果不在前台运行,系统很可能会停止您的应用程序,而不是在后台运行它.

当我使用此类叠加创建任务切换器时,我发现有必要使用TYPE_SYSTEM_ALERT而不是TYPE_SYSTEM_OVERLAY.

我声明了没有FLAG_WATCH_OUTSIDE_TOUCH的窗口参数.

WindowManager.LayoutParams params =

new WindowManager.LayoutParams(width, height, x, y,

WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,

WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE

| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,

PixelFormat.TRANSLUCENT);

您的服务还应确保在结束时从WindowManager正确注销叠加视图.否则,您的应用程序将泄漏内存.

public void onDestroy()

{

super.onDestroy();

if (overlay != null)

{

((WindowManager) getSystemService(WINDOW_SERVICE)).removeView(overlay);

overlay = null;

}

}

我看到这是在OverlayView.destory()中完成的(请注意该方法名称的拼写不正确-为该方法使用正确的名称是一个好主意).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值