当有人离开应用程序时,我只是在显示商品墙,所以我放置了finish()
方法:
@Override
public void finish() {
super.finish();
MobileCore.init(this.getContext(), "xxx", MobileCore.LOG_TYPE.DEBUG, MobileCore.AD_UNITS.OFFERWALL);
MobileCore.setStickeezReadyListener(new OnReadyListener() {
@Override
public void onReady(MobileCore.AD_UNITS adUnit) {
if (adUnit == MobileCore.AD_UNITS.OFERWALL) {
MobileCore.showOferWall(getActivity());
}
}
});
}
但我有问题。首先使用此代码this.getContext()
以及此getActivity()
我知道我不能以这种方式访问活动,但此刻我非常困惑。我知道我在这里错过了一小部分。你能帮我推吗?
答案 0 :(得分:1)
Activity class extends Context
所以实际上Activity
是Context
的实例,在onFinish
系统正试图销毁Activity
所以必须没有工作仍在工作与此Activity
相关,如果您仍然需要Context
,则可以使用this.getApplicationContext
。
答案 1 :(得分:1)
要在嵌套类中调用外部类(在您的情况下是匿名类),请使用外部类的类名:
YourOuterClass.this
答案 2 :(得分:1)
在您致电super.finish()
之前,您的活动的上下文仍然有效。所以在你完成之前不要打电话。
如果您不能这样做,请使用应用程序上下文。