我想在我的任何活动可见时启动一个意图,否则我会将其作为通知发布,并将由用户触发。
为了决定这一点,我需要知道我的任何活动是否是最重要的,我该怎么做?
我不知道有一种方法可以获取当前显示的活动,但是您可以结合使用活动生命周期 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle和一面旗帜。
对于标志,如果您扩展了 Application 类,那么这可能是存储它的合适位置。为了扩展应用程序类,这个问题的最佳答案 https://stackoverflow.com/questions/456211/activity-restart-on-rotation-android有信息。 (d).
因此,可能会在 onResume/onPause 或 onStart/onStop 中跟踪当前活动活动(或活动可见的标志),具体取决于您想要的行为。
由于您有多个活动,因此您需要一个质心位置来存储标志,这就是应用程序有意义的原因。您可以通过转换应用程序上下文来获取自定义应用程序对象(例如 ((MyApplication)getApplicationContext()).isMyActivityActive)。
您还可以扩展 Activity 以帮助保持此代码的干净和包含。
如果您正在使用服务,则可以在 onStart/onStop(或 onResume/onPause)中的每个活动中绑定到该服务。如果已绑定,则您是可见的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)