Closed manitozhang closed 1 year ago
小伙子,我没有做过车机项目,不能理解你口中说的《多屏的弹出方式控制》是什么意思,需要你这边详细介绍一下。
通过
DisplayManager.getDisplay
获取当前屏幕的对象, 在根据Context.createDisplayContext(display).createWindowContext(TYPE_APPLICATION_OVERLAY, null);
获取当前屏幕的window的context,正常我在使用Toast的makeText里面传入该windowContext的话可以显示到其他屏幕的
我这边设定了A和B的displayId, 我在C应用上通过A的displayId根据以上方法获取A的context,我直接可以在C上面控制A屏幕上弹出, 但是现在我使用Toaster.init的话只能在C里面初始化C的applicationContext
或者说他只可以传递Application类型的吗, 是否可以支持传递Context去实例化
小伙子,经过慎重考虑,决定不实现这一功能,具体原因如下:
另外建议你通过别的方式来实现,我这里推荐你使用悬浮窗框架 XToast 来实现,它是基于 WindowManager 做的封装,内部提供了一个 setPreferredDisplayModeId
的方法,你可以看看这个 API 是否能满足你的要求。
好的, 谢谢, 没问题了
问题描述 框架版本【必填】:最新版本
问题描述【必填】:由于我的是车机项目, 需要使用多屏的弹出方式控制, 如何传入不同的context,目前看到只是可以在application初始化的时候传入应用的ApplicationContext, 如何在使用中更换
复现步骤【必填】:正常使用
是否必现【必填】:否
出现问题的手机信息【必填】:车机系统
出现问题的安卓版本【必填】:Android 12,level 31
问题信息的来源渠道【必填】:项目需求
请回答 是部分机型还是所有机型都会出现【必答】:车机系统
框架最新的版本是否存在这个问题【必答】:是
是否已经查阅框架文档但还未能解决的【必答】:是
issue 是否有人曾提过类似的问题【必答】:否
是否可以通过 Demo 来复现该问题【必答】:否
使用原生的 Toast 是否也会出现该问题【必答】:否