当前位置:   article > 正文

华为Harmony鸿蒙开发笔记九:IntentAgent_鸿蒙设备agent标识

鸿蒙设备agent标识

直观的来看,IntentAgent就是写一个Intent,设置好,但不执行,需要执行的时候再触发。

  1. private IntentAgent agent;
  2. private void initAgent() {
  3. Intent intent = new Intent();
  4. // 指定要启动的Ability的BundleName和AbilityName字段
  5. // 将Operation对象设置到Intent中
  6. Operation operation = new Intent.OperationBuilder()
  7. .withDeviceId("")
  8. .withBundleName("com.example.intentagentdemo")
  9. .withAbilityName("com.example.intentagentdemo.SecondAbility")
  10. .build();
  11. intent.setOperation(operation);
  12. List<Intent> intentList = new ArrayList<>();
  13. intentList.add(intent);
  14. // 定义请求码
  15. int requestCode = 200;
  16. // 设置flags
  17. List<IntentAgentConstant.Flags> flags = new ArrayList<>();
  18. flags.add(IntentAgentConstant.Flags.UPDATE_PRESENT_FLAG);
  19. // 指定启动一个有页面的Ability
  20. IntentAgentInfo paramsInfo = new IntentAgentInfo(requestCode, IntentAgentConstant.OperationType.START_ABILITY, flags, intentList, null);
  21. // 获取IntentAgent实例
  22. agent = IntentAgentHelper.getIntentAgent(this, paramsInfo);
  23. }

然后是触发

  1. @Override
  2. public void onClick(Component component) {
  3. switch (component.getId()) {
  4. case ResourceTable.Id_btn_notification_publish:
  5. int code = 100;
  6. IntentAgentHelper.triggerIntentAgent(MainAbilitySlice.this, agent, null, null, new TriggerInfo(null, null, null, code));
  7. break;
  8. default:
  9. break;
  10. }
  11. }

其实这里,可以直接调用startAbility()方法,用IntentAgent绕了一大圈,感觉像发明了一种蟑螂药,只要抓住蟑螂,涂在嘴上,蟑螂必死一样。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/307083
推荐阅读
相关标签
  

闽ICP备14008679号