我正在寻找一种方法来填充我的应用中的容器视图,其中包含来自其他应用的视图。
主机应用程序(我的应用程序)将使用其他应用程序专门为其提供的视图。想想类似于三星的发射器+ Flipboard,或者Google Now Launcher + Google Now--应用程序的一部分,一个完整的视图区域,由另一个软件包提供。
创建某种SDK的首选方法是什么?是否存在这样做的修复模式,或者这是Android开发的未知领域,还是被应用程序工作的方式彻底禁止?
答案 0 :(得分:0)
为什么不尝试使用所需的应用API将数据提取到您的应用中,然后将其显示在您的容器中。
不完全符合您的要求,但它可以作为此案例的解决方法。
答案 1 :(得分:0)
我正在寻找一种方法来填充我的应用中的容器视图,其中包含来自其他应用的视图。
如上所述,这是不可能的。
想想类似于三星发射器+ Flipboard或Google Now Launcher + Google Now的东西 - 应用程序的一部分,整个视图区域,由另一个软件包提供。
这些都不涉及“使用来自其他应用的视图在我的应用中填充容器视图”(强调添加),因为这是不可能的。视图(即View
的子类)不能跨进程边界传递。
最有可能的是,您所看到的是其他应用程序启动以对话框为主题的活动(即主题未填满屏幕的活动)。
或者,由于这些是发射器,您可能会看到应用程序小部件,启动器提供应用程序小部件主机,以及通过RemoteViews
结构定义UI的应用程序小部件。
理论上可行的,但是在多窗口,导航等的情况下非常不可靠 - 将是“主机”应用程序告诉“提供UI”的应用程序在特定像素的屏幕上绘制一些内容坐标,也许通过一些浮动窗口。
答案 2 :(得分:0)
这在Android中是不可能的,主要是因为它不安全。您可以从其他应用程序请求查看,然后读取数据。
有几种情况会发生这样的事情:
所有这些都是平台级别的,您无权访问此类功能。像三星这样的一些原始设备制造商介绍了这样的东西,但这不是主流。
因此,最佳方法是让应用A将特定数据发送到应用B,然后应用B以所需方式显示此数据。