问题描述
我需要知道一种通用方法来区分来自启动器的活动调用和来自我的应用程序内部的另一个活动的调用,或活动堆栈上的 BACK
I need to know a generic way to distinguish between a call of activity from launcher and a call from another activity from inside my app, or a BACK on the activity stack
有人吗?这困扰了我很长一段时间,我需要让它休息......
Anyone? this is bugging me for quite a while now and i need to put it to rest...
提前致谢JQCorreia
Thanks in advance JQCorreia
推荐答案
在你的Activity的onCreate中,调用getIntent()
.如果 Activity 从启动器(主屏幕)启动,则 getAction()
的值将是 android.intent.action.MAIN
和 getCategories()
将返回一个包含 android.intent.category.LAUNCHER 类别的集合.如果活动从其他地方开始,这些值可能是 null
.
In the onCreate of your Activity, call getIntent()
. If the Activity is started from the launcher (home screen) the values for getAction()
will be android.intent.action.MAIN
and the getCategories()
will return a set which will contain the android.intent.category.LAUNCHER category.
If the activity is started from elsewhere these values may be null
.
这篇关于区分从主屏幕启动的 Activity 或从 App 启动的另一个 Activity的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!