系统级应用基于AOSP隐藏类ActivityView实现多Activity展示的技术问询
使用AOSP隐藏类ActivityView实现多Activity展示(系统级应用场景)
作为系统级应用,要在界面中嵌入展示多个Activity,AOSP内置的隐藏类ActivityView刚好能满足这个需求——它的核心作用就是让你在一个View容器里托管另一个Activity的完整界面。
根据你的理解,我把正确的使用方式整理如下:
findViewById<ActivityView>(R.id.view1).setCallback(object : ActivityView.StateCallback() { override fun onActivityViewReady(view: ActivityView?) { // 当ActivityView准备就绪后,启动要嵌入的内部Activity view?.startActivity(InnerActivity.getIntent(view.context, "my extra")) } override fun onActivityViewDestroyed(view: ActivityView?) { // 在这里做资源清理工作,比如取消回调、释放关联的对象等 } })
补充说明
ActivityView属于AOSP隐藏API,系统级应用需要确保拥有对应权限,且编译环境能访问到该类的接口;- 被嵌入的
InnerActivity需正确处理传入的Intent参数,保证界面能正常初始化展示; - 务必在
onActivityViewDestroyed回调中完成资源清理,避免内存泄漏或残留资源占用。
内容的提问来源于stack exchange,提问作者Marc Plano-Lesay
相关产品推荐
相关产品推荐

