fWX228941 / project

all by myself
1 stars 0 forks source link

第三方应用适配终端的方案 #47

Open fWX228941 opened 7 months ago

fWX228941 commented 7 months ago

第三方应用适配终端的方案(功能定制) 1.目的 应用按照系统指定的规则或接口来执行一些系统功能 2.方案 1.应用直接调用系统原生接口 1.1.比如指示灯/通知/前台服务 1.2.非原生系统提供额外业务给应用,比如语音播报接口 2.应用静态配置原生系统支持的规则和权限 2.1.安装时系统获取与解析应用这些规则,允许应用执行一些业务 2.2.比如:电池优化白名单/配置当前模式下首页widget 3.具体方案与实现原理 3.1.客户端容易配置 在应用的AndroidManifest.xml文件中配置标签 所有的组件都支持,多个key-value的参数配置就是具体的规则 3.2服务端解析配置信息 PackageManagerService PackageParser metaData 3.3.工作量:客户端与服务端约定与协商遵守具体的规则,服务端提供业务逻辑,以及定义具体的key value 值 4.应用场景 4.1.Launcher适配 1)Launcher首页小部件配置 Launcher首页显示当前集群模式下对应的小部件 2)Launcher首页左中右按键启动界面配置 用于启动当前模式应用对应的界面,BTrunc模式下,三个按键分别启动BTrunc通讯录,菜单,BTrunc群组 3)Launcher跳转拨号盘 Launcher处于前台时,拨号盘按键跳转到当前模式应用对应的拨号盘,并将当前按键值传过去 4)应用图标在某个模式下是否显示 支持应用在某个模式下在应用列表上显示,其他模式不显示图标。如果没有配置,默认是应用图标是在所有模式下都会显示 5)Launcher hotset功能定制 6)第三方应用未读消息适配 4.2.首页菜单动态适配 点击菜单,显示当前模式下对应的设置项,同时显示对应未读数 4.3.电池优化白名单 4.4.应用开机自启动 第三方应用只要注册了开机广播,并且进行了该配置,就可以进行开机自启动,不需要启动该应用 4.5.应用不显示在最近任务栏中 4.6.应用通知显示 可以让应用发送的通知不显示在状态栏上 4.7.控制指示灯的显示 优先级、显示白名单 4.8.应用权限默认授予 用户不需要通过操作授权同意界面来授权

fWX228941 commented 7 months ago
fWX228941 commented 7 months ago

Image

fWX228941 commented 7 months ago
MetaActivity
//初始化和使用metadata,仅仅与 MetaController进行交互,屏蔽具体的解析规则,一旦metadata规则动态发生变化
//则通知MetaActivity,让其重新查询数据,更新UI

MetaConstanst
//定义metadata的 key-value值 取值范围等‘ 比如顺序 名称 大小屏 工作模式等

MetaController
//触发解析规则的场景,包括对外提供数据更新的回调 封装MetaHelper来更新策略,重新加载数据,同时监听比如
//应用的增加、删除、模式切换广播等来

MetaHelper
//对外提供查询,加载等业务功能 单例模式,提供给controller用,触发parser调用场景

MetaItem
//表示一个具体的配置项,实体类,比如配置名字和大小屏,包名类名等

MetaParser
//具体的解析规则,只对Helper进行开放 包括从packageMangaer中解析metadata  配置与查找meta数据
fWX228941 commented 7 months ago

Image

fWX228941 commented 7 months ago

MetaConstanst.java

fWX228941 commented 7 months ago

Image