位置: 编程技术 - 正文
推荐整理分享Android中两个APP间跳转导致的异常问题及解决办法(安卓两个app),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:androidstudio两个应用合并,安卓装两个相同的软件,手机里两个android文件,安卓两个app,android中两个活动间跳转时必然会调用的是哪些方法,android中两个recyclerview怎么重叠,安卓两个app,android中两个recyclerview怎么重叠,内容如对您有帮助,希望把文章链接给更多的朋友!
假设现有两个APP:app1 和 app2
两个app中均有两个Activity:A 和 B
且两个app的入口Activity均是:A
操作流程:app1.A ---> app.B ---> app2.A ---> app2.B
1.从app1.B向app2.A跳转的实现方法:
在app1.B中用ComponentName结合Intent来实现APP间的跳转
ComponentName componetName = new ComponentName(
//跳转目标应用的包名,即目标应用manifest文件中的包名
"com.example.testapp2",
//需要调起的目标应用中的Activity的路径,包名Activity名
"com.example.test2.activity.FirstActivity");
Intent intent= new Intent();
intent.setComponent(componetName);
startActivity(intent);
2.出现的问题:
问题描述:
app1.B ---> app2.A 跳转成功后,从app2.A ---> app2.B ,接着按Home键返回桌面,再次点击app2的图标进入app2,发现并没有返回app2.B这个页面,而是重启了app2这个应用。
问题原因:
app1.A ---> app1.B ---> app2.A --->app2.B 这样的流程执行完,存在一个以app.A为根的任务栈,该任务栈内从栈底到栈顶分别为app1.A、app1.B、app2.A和app2.B。
当我在app2.B处直接按Home键返回桌面并再次点击app2的图标进入app2,
此时系统会查找是否存在以app2入口Activity为根的任务栈,如果不存在就会创建一个以app2入口Activity为根的任务栈。由于当前系统中并没有以app2入口Activity为根的任务栈,所以我在点击图标的时候会重启app2。
解决办法:
将app1.B中的跳转方法改为:
ComponentName componetName = new ComponentName(
//跳转目标应用的包名,即目标应用manifest文件中的包名
"com.example.testapp2",
//需要调起的目标应用中的Activity的路径,包名Activity名
"com.example.test2.activity.FirstActivity");
Intent intent= new Intent();
intent.setComponent(componetName);
//新建一个任务栈task存放app2.A,且以app2.A为根
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
在app2.A中设置:
if ( !isTaskRoot() ) {
finish();
return;
}
isTaskRoot()为false,表示系统中有以app2.A为根的task。
这个修改完之后,就可以完美实现从app1.B跳转到app2.A再进入app2.B后,在app2.B这个页面按Home键返回桌面,然后点击app2的图标,就可以恢复退出时的app2.B这个页面,而不是重启app2这个应用了。
Warning: Build-tool .0.0 is missing AAPT at F:adt-bundle-windows-xsdk Console中输出Warning:Build-tool.0.0ismissingAAPTatF:adt-bundle-windows-xsdkR.JAVA找不到,原来F:adt-bundle-windows-xsdkbuild-tools.0.0下面的appt找不到了,从其他SDK中
sina打开spi0dev0.0、spi1dev1.0的步骤.txt(全志a下生成设备节点/dev/spi0dev0.0、/dev/spi1dev1.0) sina打开spi0dev0.0/spi1dev1.0的步骤.txtsina打开spi0dev0.0、spi1dev1.0的步骤.txt(全志a下生成设备节点/dev/spi0dev0.0、/dev/spi1dev1.0)0、S:licheetoolspackchipssun8iw
Android 蓝牙模块框架分析 AndroidBluedroid框架图蓝牙组件BluetoothcorestacklibraryHCIlibraryVendorSpecificHCIlibraryUART,RFKILL,TUN/TAPandUHIDdevicedrivers相关模块bluetooth.apk:packagesappsBluetooth目录下libblue
标签: 安卓两个app
本文链接地址:https://www.jiuchutong.com/biancheng/385983.html 转载请保留说明!上一篇:Mac下android_sdk配置环境变量(mac配置android开发环境)
下一篇:Warning: Build-tool 17.0.0 is missing AAPT at F:adt-bundle-windows-x86sdk
友情链接: 武汉网站建设