Android Activity的关闭问题
这里有两个问题。首先,如何彻底的关闭一个APP?一般来说,用户按返回键只是销毁当前activity,如何一键销毁所以activity,并退出程序?其次,如何关闭一些不必要...
这里有两个问题。首先,如何彻底的关闭一个APP?一般来说,用户按返回键只是销毁当前activity,如何一键销毁所以activity,并退出程序?其次,如何关闭一些不必要的activity?比如程序进入了主activity之后如何把闪屏的activity从任务栈中销毁?就以上两个问题向大神们请教。谢谢·
展开
2个回答
展开全部
你说的闪屏的activity是启动的广告页?首先要保证你按返回就退出的app是在栈的底部,这样在这个页面调finish();就会直接完全的退出app,可以通过activity的启动模式来控制,这个你查一下就会很清楚的,我这里简单说一下:
1.在清单文件中,<Activity>标签中加入android:launchMode = ""这个属性,控制启动模式,或者JAVA文件中也可以,不过不太一样。
standard: 默认模式 可以实例化多次,每次都会创建一个新的实例
singleTop:可以实例化多次,但是栈顶只能出现一个
singleTask:只能创建一个Activity的实例
singleInstance:当启动这种模式的Activity时,系统会分配一个新的任务task,并把Activity的实例放到栈的底部,他不允许其他的实例和它共享一个栈
2.在Activity中通过Intent对象来设置,优先级高于xml文件中的设置:
FLAG_ACTIVITY_SINGLE_TOP 等同于 singleTop
FLAG_ACTIVITY_CLEAR_TOP 同singleTask 相似,当栈中存在要启动的Activity实例,首先会把在它之上的实例移除,并且销毁,然后销毁当前的Activity实例,重写创建新的实例
FLAG_ACTIVITY_NEW_TASK
必须在<Activity>添加属性android:taskAffinity="com.other" 包名 android:alwaysRetainTaskState="true"只有设置了这两个属性,系统才会为当前实例创建新的任务,并放到栈的底部
1.在清单文件中,<Activity>标签中加入android:launchMode = ""这个属性,控制启动模式,或者JAVA文件中也可以,不过不太一样。
standard: 默认模式 可以实例化多次,每次都会创建一个新的实例
singleTop:可以实例化多次,但是栈顶只能出现一个
singleTask:只能创建一个Activity的实例
singleInstance:当启动这种模式的Activity时,系统会分配一个新的任务task,并把Activity的实例放到栈的底部,他不允许其他的实例和它共享一个栈
2.在Activity中通过Intent对象来设置,优先级高于xml文件中的设置:
FLAG_ACTIVITY_SINGLE_TOP 等同于 singleTop
FLAG_ACTIVITY_CLEAR_TOP 同singleTask 相似,当栈中存在要启动的Activity实例,首先会把在它之上的实例移除,并且销毁,然后销毁当前的Activity实例,重写创建新的实例
FLAG_ACTIVITY_NEW_TASK
必须在<Activity>添加属性android:taskAffinity="com.other" 包名 android:alwaysRetainTaskState="true"只有设置了这两个属性,系统才会为当前实例创建新的任务,并放到栈的底部
2017-09-06
展开全部
你的意思是不是:当第二界面返回到第一界面,把第二界面的值返回到第一界面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询