智慧教学控制系统,控制页面不退出,返回后保证只有一个实例的办法

之前的代码,如果黑屏后,按home键退出到桌面,再回来的话,会生成两个黑屏实例,导致结束黑屏后,只能结束一个黑屏,其他黑屏还需要手动退出,效果特别不好。
改了一下代码,2个步骤:

1、修改跳转模式:

                if(common.isBlack){
			Log.i("SystemTool", "StartTeachWindow 进到黑屏");
			Intent intent = new Intent();
			intent.setClass(ctx,ZhengzaishangkeActivity.class);
			intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
			ctx.startActivity(intent);
		}else{
			Log.i("SystemTool", "StartTeachWindow 进到主屏");
			Intent in = new Intent(Intent.ACTION_MAIN);
			in.setClass(ctx, TabHostActivity.class);
			in.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
			ctx.startActivity(in);
		}
设置模式用
Intent.FLAG_ACTIVITY_SINGLE_TOP
一开始会报错,说从外部启动activity必须用new_task。

解决办法是直接传递activity本身,不要传递getApplicationContext,连启动时都不要写  ctx.getapplicationContext().startactivity

而是直接写 ctx.startactivity()就可以了

2、本身的activity启动模式

在AndroidManifest.xml中设置activity的属性android:launchMode="singleTask"


完美解决。



posted @ 2022-05-15 21:04  融化的雪0701  阅读(58)  评论(0)    收藏  举报