绯瞳幽魂
绯瞳幽魂
  • 发布:2015-12-04 17:12
  • 更新:2016-07-06 17:18
  • 阅读:8220

[紧急问题]H5打开自己写好的Android原生activity,点HOME键返回手机桌面再次点击相应的图标打开应用除H5所在的activity外,其他的activity都被强制销毁了

分类:5+ SDK

如题,这个问题该如何解决。
详细的操作流程是:启动应用 ——>点击一个界面上的按钮 ——>通过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();
2015-12-04 17:12 负责人:无 分享
已邀请:
暖宝宝爱吃饭

暖宝宝爱吃饭

按照楼主的第一种方式打开Android原生activity,报错如下:
Uncaught startActivity;android.content.ActivityNotFoundException: Unable to find explicit activity class {com.ls.test/com.ls.test.TestActivity}; have you declared this activity in your AndroidManifest.xml?
请问知道怎么解决吗?

6***@qq.com

6***@qq.com

请问解决了么

撒网要见鱼

撒网要见鱼 - 厚积薄发!

同求,我也遇到了这个问题。想在H5+项目集成原生模块时,点了HOME键再返回应用,原生activity都不见了。

DCloud_Android_ST

DCloud_Android_ST

这种情况 你可以尝试修改一下工程中AndroidManifest.xml !代码中修改PandoraEntry和PandoraEntryActivity 注册声明。把android:launchMode="singleTask" 改成singleTop 或者删除代码试一下

撒网要见鱼

撒网要见鱼 - 厚积薄发!

试了下, 把PandoraEntryActivity设为"singleTask", 把PandoraEntry的"singleTask"去掉,是可以的
,修改后代码如下:

<activity  
            android:name="io.dcloud.PandoraEntry"  
            android:configChanges="orientation|keyboardHidden"  
            android:label="@string/app_name"  
            android:screenOrientation="user"  
            android:windowSoftInputMode="adjustResize"  
            >  
            <!--             android:launchMode="singleTask" -->  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
        <activity  
            android:name="io.dcloud.PandoraEntryActivity"  
            android:configChanges="orientation|keyboardHidden|screenSize"  
            android:hardwareAccelerated="true"  
            android:label="5+Debug"  
            android:screenOrientation="user"  
            android:theme="@style/DCloudTheme"  
            android:windowSoftInputMode="adjustResize"  
            android:launchMode="singleTask" >  
        </activity>

(其它情况下,只要PandoraEntryActivity的模式不为"singleTask"都无法打开应用的。)
目前还没有发现由此引起的额外问题。

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