Android      Android桌面图标长按快捷菜单示例   
文章目录  [隐藏]

Android 7.1.1 25 Nougat N_MR1 牛轧糖。

示例场景:
            --> 功能页E
闪屏A --> 登录B --> 主页C --> 功能页D
            --> 功能页F
快捷菜单--------------------------> 功能页D

正常进入C后,A和B都是销毁(finish)的。C保持存活,C退出即程序结束。
从C可以进入D或者E或者F。然后从桌面快捷菜单可以直接进入D。

●情景1:程序未启动,快捷进入D,即启动程序并进入D,退出D,则进入C。
相当于把D作为一个入口了。
●情景2:程序启动了,在A或B,快捷进入D,退出D,则销毁A/B进入C。
相当于创建一个D到栈顶,退出后清空栈并创建C。
●情景3:程序启动了,在C/E/F,快捷进入D,退出D,则回到C/E/F。
相当于创建一个D到栈顶,退出后移出栈顶。
●情景4:程序启动了,在D,快捷进入D,退出D,则回到C。
相当于D已经在栈顶了,快捷启动时打开这个D。

▶重复快捷启动,可以单纯依靠Intent的flag避免再次创建D。
退出D回到上一个Activity,则要判断栈的情况。并且也要避免重复创建。

1.工具类

只存储2个元素,且须要手动保证顺序。

2.上下文

这里监听Activity的运行状态,保存最近2个进入后台的。

3.快捷菜单

这里是动态创建。可以放在上下文、闪屏,或者交互事件里。运行一次即可,程序退出后快捷方式不会移出,除非调用manager remove了。

4.目标Activity

进入不复杂,退出真复杂。
业务上,如果通过快捷菜单进入,退出时要判断后台是A/B,C,D,E/F的情况。


- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设