调用跨进程服务显示悬浮窗口
需求是这样的:APP调用一个服务接口实现摄像头在屏幕指定区域的预览,服务是独立的APP,跨进程调用
按照网上的线程代码修改,我使用悬浮窗+SurfaceView实现了摄像头的预览,如果服务和调用方都在一个APP里面,那是可以正常工作的,如果把服务单独封装成一个APP,就无法工作。
表现为:只要layout里面添加了SurfaceView,那么服务在执行“LayoutInflater.from(context).inflate(R.layout.float_littlemonk_layout, this);”这句时便会崩溃,或者随便在哪里只要new一个SurfaceView也会崩溃;如果不添加SurfaceView,倒是不会崩溃,但是执行完后并不会有悬浮窗显示出来。
我想问一下这是由什么原因引起的,是否可以解决?是因为服务进程没有Activity就不能做和界面有关的事情?
补充一下:我创建的TYPE_PHONE系统级的悬浮窗,照理说是不依赖Activity的?
按照网上的线程代码修改,我使用悬浮窗+SurfaceView实现了摄像头的预览,如果服务和调用方都在一个APP里面,那是可以正常工作的,如果把服务单独封装成一个APP,就无法工作。
表现为:只要layout里面添加了SurfaceView,那么服务在执行“LayoutInflater.from(context).inflate(R.layout.float_littlemonk_layout, this);”这句时便会崩溃,或者随便在哪里只要new一个SurfaceView也会崩溃;如果不添加SurfaceView,倒是不会崩溃,但是执行完后并不会有悬浮窗显示出来。
我想问一下这是由什么原因引起的,是否可以解决?是因为服务进程没有Activity就不能做和界面有关的事情?
补充一下:我创建的TYPE_PHONE系统级的悬浮窗,照理说是不依赖Activity的?
...全文
相关推荐
android悬浮窗口
实现悬浮窗口的核心是`WindowManager`接口,它是Android系统服务的一部分,负责管理屏幕上的窗口。
Android悬浮布局实现与实战详解
在Android系统中,悬浮窗的交互体验和视觉表现高度依赖于自定义View的精细控制与WindowManager.LayoutParams的合理配置。虽然系统提供了基础的addView()接口用于将视图注入到窗口层级中,但若要实现如可拖拽、边缘吸附、透明度渐变、手势识别等高级功能,则必须深入理解View绘制机制、触摸事件分发流程以及LayoutParams参数的实际作用域。
android framework :ams wms相关源码
WMS则处理窗口的创建、管理和排序,确保应用程序的UI显示正确无误,以及管理窗口间的关系,例如全屏、分屏和悬浮窗口等。
Android悬浮窗口及状态栏显示应用图标
**悬浮窗口管理** 应该提供一个开关来控制悬浮窗口的显示和隐藏,这可以通过设置服务的启动和停止,或者在通知中添加清除按钮来实现。10.
Android 可移动悬浮窗口 WindowManager
这种技术主要通过Android的`WindowManager`服务实现。下面将详细探讨`WindowManager`及其在创建悬浮窗口中的应用。


