1、Extension类进程崩溃是否会导致主进程崩溃
A:子进程的崩溃不会直接导致父进程崩溃。只有当子进程的崩溃导致父进程在使用部分功能时抛出了未被应用捕获的异常,才会间接导致主进程崩溃。
2、Stage模型的UIAbility生命周期中,如何区分页面可见无焦点和页面可见有焦点
A:在onWindowStageCreate()回调中通过WindowStage.loadContent()方法设置应用要加载的页面,并根据需要调用WindowStage.on('windowStageEvent')方法订阅WindowStage的事件(获焦/失焦、可见/不可见)即可。
3、有哪些进程间通信的手段?例如,ExtensionAbility如何与主进程通信?
A:进程间通信可以使用公共事件。
4、如何在页面中订阅UIAbility实例的生命周期变化
A:通过ApplicationContext模块提供的ApplicationContext.on()方法,可以订阅进程内UIAbility的生命周期变化。
5、onUnhandledException与onException回调分别什么时候触发
A:两个回调函数触发时机一致,会同时触发,区别在于onUnhandledException仅返回异常信息,onException返回完整异常对象。
-
onUnhandledException:用户未主动捕获的异常触发时会回调。
-
onException: 应用运行异常时会回调。
6、TaskPool里面是否可以使用EventHub
A:目前EventHub只能在主线程使用,不支持在TaskPool中使用。
7、hdc shell命令是否支持schema uri模拟跳转
A:不支持hdc shell命令根据schema uri模拟跳转。
8、是否可以通过ApplicationContext启动UIAbility
A:不支持,可以通过UIAbilityContext的startAbility方法启动UIAbility。
9、如何实现设备内跨应用的UIAbility跳转
A:启动UIAbility有显式Want启动和隐式Want启动两种方式。
-
显式Want启动:启动一个确定应用的UIAbility,在want参数中需要设置该应用bundleName和abilityName,当需要拉起某个明确的UIAbility时,通常使用显式Want启动方式。
-
隐式Want启动:根据匹配条件由用户选择启动哪一个UIAbility,即不明确指出要启动哪一个UIAbility(abilityName参数未设置),在调用startability()方法时,其入参want中指定了一系列的entities字段和actions字段等参数信息,然后由系统去分析want,并帮助找到合适的UIAbility来启动。当需要拉起其他应用的UIAbility时,开发者通常不知道用户设备中应用的安装情况,也无法确定目标应用的bundleName和abilityName,通常使用隐式Want启动方式。
10、使用hdc命令安装release HAP包到设备时上报“INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED”错误
A:AGC发布的证书不支持本地安装只能用于上架,签名中心只给预置应用申请Profile,不支持本地调试。
11、如何在本应用中获取到其他应用的HAP包信息
A:查询系统内其他应用信息的API暂时只提供给系统应用使用,具体使用方法:
-
查询系统内指定应用信息需要获取normal级权限"ohos.permission.GET_BUNDLE_INFO",使用接口bundleManager.getApplicationInfo()。
-
查询系统内所有应用信息需要获取system_basic级权限"ohos.permission.GET_INSTALLED_BUNDLE_LIST",使用接口bundleManager.getAllApplicationInfo()。
12、如何安装打包出来的App包(通过什么命令安装)
A:App资源包是无法直接安装的,需要通过应用市场下载才能安装,最后通过解析App包安装的还是HAP包。
更多详情查看:文档中心