管理 H5 页面

打开 H5 离线包后,您可以选择同步方法或异步方法将单个容器的视图(View)嵌入到原生页面中。

说明:使用异步方法不占用主线程,不会影响性能。
  • 使用同步方法嵌入单个容器视图到原生页面的方法如下:

    1. public static final void openH5(String url) {
    2. if (TextUtils.isEmpty(url)) {
    3. return;
    4. }
    5. H5Service h5Service = LauncherApplicationAgent.getInstance().getMicroApplicationContext()
    6. .findServiceByInterface(H5Service.class.getName());
    7. H5Bundle bundle = new H5Bundle();
    8. Bundle param = new Bundle();
    9. // 要打开的离线包 appId
    10. param.putString(H5Param.APP_ID, appId);
    11. // 要打开的离线包内的 URL /www/index.html,必须加 /
    12. // 如果不传 URL,容器将默认打开离线包默认配置的 URL
    13. param.putString(H5Param.LONG_URL,url);
    14. bundle.setParams(param);
    15. if (h5Service != null) {
    16. H5Page h5Page=h5Service.createPage(activity,bundle);
    17. View view=h5Page.getContentView(),
    18. // view 最后添加到自己的页面中就行
    19. }
    20. }
  • 使用异步方法嵌入单个容器视图到原生页面的方法如下:

    1. H5Service h5Service = LauncherApplicationAgent.getInstance().getMicroApplicationContext()
    2. .findServiceByInterface(H5Service.class.getName());
    3. H5Bundle bundle = new H5Bundle();
    4. Bundle param = new Bundle();
    5. param.putString(H5Param.APP_ID, appId);
    6. param.putString(H5Param.LONG_URL, url);
    7. bundle.setParams(param);
    8. if (h5Service != null) {
    9. h5Service.createPageAsync(activity, bundle, h5PageReadyListener);
    10. }