我正在制作一个简单的电子书阅读器应用程序,很多情况下都可以调用一个活动。
我希望在
的情况下区分被叫活动以了解其原始动作StartActivityForResult
。如何了解上述情况?
答案 0 :(得分:0)
我对上述问题的实际方式不太确定,因为我在android中也是一个新人。
但据我所知,...通过后退按钮调用并通过用户的多任务处理切换,导致活动进入pause
状态。
因此,您可以在活动中使用"onPause"
方法访问它。
答案 1 :(得分:0)
我不知道为什么你需要这样做但是......
1.从我的另一项活动开始:StartActivityForResult可以通过调用活动轻松解决这个问题。
是的,只要致电Activity
是您自己的,因为您无法保证任何第三方代码都会使用startActivityForResult(...)
。但是,您可以在其他情况下使用getCallingPackage()
和getCallingActivity()
。
2.在共享操作后通过其他软件包应用程序的后退按钮进行调用(“哎呀,我错过了点击共享按钮,然后返回。”)。
当用户按下BACK按钮时,Activity
未被“调用” - 它只是被恢复或重新启动。原始的调用应用/活动/方法仍然适用 - 无法确定这是否已发生,因为正常的Activity
生命周期方法(onStart()
和onResume()
)总是如此即使首次创建Activity
也会调用。
3.由用户的多任务处理选择。
如果您的意思是使用“最近的”应用视图,则同样适用于我对上述2.的回答。
4.用户点击开始屏幕即可:这可能是由知识产权清单上的MAIN入口点知道的。
在这种情况下,onCreate()
会被调用,但如果您的Activity
因任何原因而被停止,则可能会根据您使用的启动模式重新启动它。
简而言之,我无法确定您是否能够收集有关Activity
如何变为活跃状态的任何准确信息。