`

APK安装成功后点击"打开"再按Home键应用会重启的问题

阅读更多
   安装系统SD卡里面的apk或者原有的程序更新版本的时候,会遇到升级安装成功之后的一个选择——“打开”和“完成”,点击完成没有问题,但是,如果点击了"打开",然后按Home键,从应用程序列表里面选择应用程序图标进入,这个时候就会重新启动了一个应用程序,退出之后就正常了。

1.问题

安装apk程序成功后会有两个按钮,打开、完成。打开可以打开安装的程序,此时操作程序。然后按home键再从桌面点击图标打开程序会发现程序从入口重新打开,并不是刚才的运行状态。

2.解决办法
我们在程序入口的activity中检测该activity是不是程序的root Activity。如果不是就可以直接finish此activity,程序会从栈中还原以前的状态。


具体代码如下:
在应用启动的activity的Oncreate方法中添加如下代码即可:


if (!isTaskRoot()) {
			//bug at:http://blog.csdn.net/aa464971/article/details/62044798
			// Android launched another instance of the root activity into an existing task 
			//  so just quietly finish and go away, dropping the user back into the activity 
			//  at the top of the stack (ie: the last state of this task) 
			finish(); 
			return; 
		} 


或者更加安全的做法:
if(!isTaskRoot()) { //判断该Activity是不是任务空间的源Activity,“非”也就是说是被系统重新实例化出来 	
			//如果你就放在launcher Activity中话,这里可以直接return了                        
			//bug at:http://blog.csdn.net/love100628/article/details/43238135
			Intent mainIntent=getIntent();  			
			String action=mainIntent.getAction(); 			
			if(mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {
				finish(); 				
				return;//finish()之后该活动会继续执行后面的代码,你可以logCat验证,加return避免可能的exception 
			}
		}


可以将上面的代码加在setContentView(R.layout.xxx);之前;
分享到:
评论

相关推荐

    斐讯盒子关机变成重启,或者关机后无法开机.rar

    1、Power Off Click.apk,一键关机,安装完点击...2、Button Mapper.apk,按键映射,将“双击HOME键”映射为打开“Power Off Click”应用。 2、也可以设置成任意键,实现关机功能。key Test.apk,查看遥控器按键键值。

    三星B189刷机过程和工具 刷后带QQ

    1. 关闭手机,进入Download Mode:先按住音量下键,然后同时按住电源键和Home键(如果有的话)。 2. 连接手机到电脑,等待Odin识别设备。如果你看到Odin窗口中的ID:COM区域显示为蓝色,并有"COM"字样,说明设备已...

    三星 I9000刷机步骤

    - 重启后,迅速拔掉电池,然后再按住HOME键+POWER键进入挖煤模式。 2. 使用Odin3工具进行刷机: - 启动Odin3软件,根据软件界面的提示进行设置。通常需要勾选Auto Reboot和F. Reset Time选项,部分版本可能还需...

    Unity3D游戏开发之发布Android的apk文件.pdf

    - 配置完成后,重启计算机使更改生效。 #### 三、Android SDK的安装与配置 1. **下载Android SDK**: - 从官方渠道下载Android SDK并解压缩到指定位置,例如:`G:\adt-bundle-windows-x86\platform-tools`。 2. ...

    SystemUI添加音量键&去掉最近任务

    另一方面,"去掉最近任务"是指移除了Android系统的多任务切换界面,即通常通过长按Home键或滑动屏幕顶部边缘来显示的最近打开的应用列表。在某些情况下,用户可能希望保持隐私,或者认为这个功能会占用过多的系统...

    安卓网教你用电脑端安装android2.2手机模拟器教程归纳.pdf

    3. **保存并重启模拟器**:确保在关闭模拟器后进行SD卡文件的编辑操作,并在编辑完成后重新启动模拟器。 #### 七、总结 本文详细介绍了如何在电脑上安装Android 2.2手机模拟器的过程,从环境搭建、SDK安装到模拟器...

    Android平台运行调试

    2. **切换至主画面**:为了确保应用的正常安装,建议在安装前将模拟器切换至主画面,避免在其他程序运行时安装应用,可通过按下Home键实现。 3. **运行adb命令安装应用**:在命令行模式下,切换到SDK目录下的`tools...

    电脑安卓android2[1].2安卓手机模拟器.doc

    - 编辑完成后需保存更改并重启模拟器使更改生效。 #### 五、总结 通过上述步骤,我们不仅可以在PC上成功安装并运行Android 2.2版本的模拟器,还能实现软件安装和SD卡文件管理等功能。这对于开发者而言是一个非常...

    网狐荣耀版开发使用常见问题解答

    最后打开CMD窗口进行测试是否安装成功。 二、把winrar加入环境变量,使winrar可以在命令行下直接运行。;C:\Program Files\WinRAR 三、安装cocos,这里我们使用的是cocos2d-x 3.10,3.10版本,Cocos2d-x与cocos整合...

    Eclipse搭建Android开发环境图文教程(eclipse+ADT插件+Android SDK)

    2. **导出 APK 文件**:在 Eclipse 中,右键点击项目名称 -> “Export” -> “Android” -> “Export Android Application Package” -> 选择保存路径 -> “Finish”。 通过以上步骤,您可以顺利完成 Eclipse + ADT...

    (推荐)小爱触屏音箱LX04_2.34.5-官改-(开发版)SP5

    8. **验证安装**:音箱重启后,检查系统版本是否更新为2.34.5,同时测试新功能是否正常工作,如第三方应用的安装和运行。 9. **安全注意事项**:刷机有一定的风险,可能导致设备无法正常使用。因此,非专业用户应...

    T7303小果第3版教程

    - **应用程序安装问题**:若应用程序安装出现问题,可尝试在设备上手动安装APK文件,或者通过第三方应用商店下载安装。 - **ibooks使用技巧**:ibooks是一款电子书阅读软件,在使用过程中可以调整字体大小、背景颜色...

    adb1.0.26包含fastboot.exe

    运行命令后如果见到类似如下输出(状态为 Success)代表安装成功: [100%] /data/local/tmp/1.apk pkg: /data/local/tmp/1.apk Success 上面是当前最新版 v1.0.36 的 adb 的输出,会显示 push apk 文件到手机的...

    Android开发环境配置问题

    1. 右键点击工程,选择“导出”-> “Android”-> “导出Android应用程序”。 2. 按照向导创建新的keystore文件,设置保存路径、密码和有效期。 3. 重复构建过程,新生成的keystore文件将帮助完成apk的打包。 通过...

    MONKEY 测试环境搭建和使用指导书

    Monkey测试是一种自动化的方法,用于对Android设备的应用程序进行稳定性测试,通过模拟一系列随机事件(如触摸屏点击、手势、按键输入等)来检查应用在异常情况下的行为。对于中国电信信息发布平台v2.0版本的安卓版...

    Windows平台adb工具

    4. **验证adb**: 完成以上步骤后,打开命令提示符(cmd),输入`adb version`,如果显示adb的版本号,说明adb已成功安装和配置。 ### 三、adb基本使用 1. **连接设备**: 连接USB设备时,只需确保设备已开启USB调试...

    ADB window链接安卓工具

    4. **测试连接**:打开命令提示符,输入`adb devices`,如果一切正常,你应该能看到设备的序列号和“device”的状态,表示已成功连接。 5. **基本操作**:现在你可以开始使用ADB了。例如,`adb install app.apk`...

    Python脚本利用adb进行手机控制的方法

    - **5**: 打开拨号应用 - **6**: 挂断电话 - **24**: 增加音量 - **25**: 降低音量 - **26**: 电源键 - **27**: 拍照 通过这些命令,可以实现自动化的测试和操作,大大提高了开发效率和自动化水平。 #### 结论 ...

Global site tag (gtag.js) - Google Analytics