我有一个名为MainActivity
的活动,可能会在以下情况下恢复:
MainActivity
已经启动,现在又回到MainActivity
。MainActivity
已恢复,因为它是堆叠中的下一个活动。我有兴趣区分案例#2和#3。有没有办法知道用户来自我的应用程序,或者在MainActivity
恢复时来自其他应用程序?
我尝试过的事情:
startActivityForResult()
开始所有活动并不总是有效,因为许多活动可以从框架开始(例如Google Play服务中的内容),而且无法跟踪这些活动。Application.ActivityLifecycleCallbacks
似乎无法区分从应用内部恢复活动与用户互动的情况。答案 0 :(得分:0)
很容易识别出你的第二和第三点差异。
第二点
使用startActivityForResult()开始您的活动,这样在完成其他活动时会给您回电
注意:在完美方式startActivityForResult()实现的帮助下,您将不会遇到任何问题,如您在语句中提到的那样
For 3rd Point
很明显,当您将应用程序与其他人切换时,startActivityForResult()永远不会调用,因此在这种情况下,您将使用onResume()来识别
我希望它对你有用