How to resume previous activity instead of going to default HOME launcher

岁酱吖の 提交于 2019-12-25 02:29:46

问题


I have created a settings activity which will get fired when I press the two volume keys simultaneously. I am invoking this settings activity using an Intent from PhoneWindowManager.java as below,

Intent intent = new Intent("com.MyApp.Settings.EXT_SETUP");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intnt);

I am also running a custom launcher application. While the custom launcher is running, I am able to invoke my settings Activity by pressing the volume buttons.

But the problem is, after exiting the custom settings activity ( by calling finish()), the control is not going to the custom launcher (which is the previous active task). Instead Android is calling home launcher activity which is resulting in going to HOME screen instead of resuming my custom launcher.

I have tried the Intent flags FLAG_ACTIVITY_CLEAR_TOP, FLAG_ACTIVITY_PREVIOUS_IS_TOP. But nothing worked.

Please let me know on how I can invoke the custom launcher after exiting my settings Activity.

Thanks in advance, Phani


回答1:


Chk this out

Intent intent = new Intent("com.MyApp.Settings.EXT_SETUP");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
mContext.startActivity(intnt);

Intent.FLAG_ACTIVITY_SINGLE_TOP); If set, the activity will not be launched if it is already running at the top of the history stack.




回答2:


Use this :

intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);


来源:https://stackoverflow.com/questions/23988661/how-to-resume-previous-activity-instead-of-going-to-default-home-launcher

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!