openWeb.ets 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { Want, common } from '@kit.AbilityKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. /**
  4. * 原生打开网页控制类
  5. * 用于在鸿蒙系统中打开网页URL
  6. */
  7. export class OpenWebNative {
  8. /**
  9. * 打开指定的网页URL
  10. * @param url 要打开的网页地址
  11. * @returns 返回操作结果,true表示成功,false表示失败
  12. */
  13. static openUrl(url: string): boolean {
  14. try {
  15. // 获取应用上下文
  16. const context = getContext() as common.UIAbilityContext;
  17. // 构建Want对象,用于启动浏览器
  18. const want: Want = {
  19. action: 'ohos.want.action.viewData', // 查看数据的标准动作
  20. entities: ['entity.system.browsable'], // 可浏览实体
  21. uri: url // 目标URL
  22. };
  23. // 启动浏览器应用
  24. context.startAbility(want)
  25. .then(() => {
  26. console.info(`成功打开URL: ${url}`);
  27. })
  28. .catch((error: BusinessError) => {
  29. console.error(`打开URL失败: 错误码 ${error.code}, 错误信息 ${error.message}`);
  30. });
  31. return true;
  32. } catch (err) {
  33. // 捕获意外错误
  34. const error: BusinessError = err as BusinessError;
  35. console.error(
  36. `发生意外错误: 错误码 ${error.code}, 错误信息 ${error.message}`
  37. );
  38. return false;
  39. }
  40. }
  41. }