绯红暗炎
绯红暗炎
  • 发布:2015-10-08 15:54
  • 更新:2018-08-20 14:07
  • 阅读:5280

android整合h5+sdk(采用webview方式),支持同时打开多个嵌入h5+webview的activity吗

分类:5+ SDK

我采用的是官方例子(通过源生态程序嵌入h5 SDK)中的单个webview的方式嵌入h5 sdk,我希望能每打开一个源生态的容器(比如android的activity),里面内容区域都嵌一个webview,但是我用官方的例子跑了后,发现:如果已经打开了一个嵌入h5 的webview的activity,再继续打开一个新的嵌入h5 的webview的activity时会报错,并且之前那个activity会自动关闭。
想问一下,h5 支持打开多个activity(每个activity内嵌入h5 的webview)这种方式吗?

2015-10-08 15:54 1 条评论 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

5+内核是不支持多activity的,也就是sdk demo中ICoreStatusListener的onCoreInitEnd接口是不允许,也会多次执行的,SDK.createWebview(Activity arg0, String arg1, String arg2, IWebviewStateListener arg3)此方式是支持多次调用、创建webview的。

  • 晓冉

    我这边有个现象:h5调用一个activity,跳转成功后,按手机的home键退出app应用,再打开应用时,页面回到了activity的上一级页面,activity自动关闭了,这个怎么解决?


    2015-12-03 12:57

  • Android_磊子

    回复 晓冉:上一级页面?是重启应用了吗?


    2015-12-03 13:38

  • 晓冉

    回复 Android_磊子:不是重启,就是按home键退出应用,不杀进程,点击应用,进去时,会有这个问题


    2015-12-03 13:49

  • Android_磊子

    回复 晓冉:这需要查看你是如何启动webview所在activity的,理论上跟5+sdk没有关系。


    2015-12-03 21:18

绯瞳幽魂

绯瞳幽魂

我也遇到了同样的问题,详细的操作流程是:启动应用 ——>点击一个界面上的按钮 ——>通过5+sdk调用Android原生方法打开一个原生activity界面 ——>点击HOME键返回桌面(此时应用中打开的所有activity未被销毁) ——>点击应用再次进入应用被打开的原生activity被强制销毁了(运行了onDestroy()方法)只保留了h5的activity,但是通过任务管理器点击应用再次进入的话被打开的原生activity未被销毁并可以正常运行。
打开原生activity的代码如下(有两种打开activity的方法):
第一种:

var Intent = plus.android.importClass("android.content.Intent");  
var Bundle = plus.android.importClass("android.os.Bundle");  
var main = plus.android.runtimeMainActivity();  
var intent = new Intent("com.xxx.xxx.video");  
var bundle = new Bundle();  
bundle.putString("info_id", id);  
bundle.putString("cat_id", catId);  
bundle.putString("info_title", title);  
bundle.putBoolean("autoLogin", true);  
bundle.putString("CASTGC", users.CASTGC);  
bundle.putString("jsessionid", data.jsessionid);  
intent.putExtras(bundle);  
main.startActivity(intent);

第二种(通过第三方IM插件启动相关的Android原生界面):

var ConnectUtil = plus.android.importClass("com.xxx.xxx.ConnectUtil");  
connect_util.openVoiceActivity();
anysoft

anysoft - 任哥哥

SDK只允许初始化一次,不过可以利用SDK.createWebview(Activity arg0, String arg1, String arg2, IWebviewStateListener arg3)在普通的activity中执行,就可实现多个activity模式了。

2***@qq.com

2***@qq.com

具体是怎么解决的啊?能贴下完整的代码吗?

该问题目前已经被锁定, 无法添加新回复