我已经搜索了很多这个问题,并且发现了很多关于何时使用 getBaseContext , getApplicationContext 或者活动自己这个的不同建议指针。
经常出现并且似乎很有意义的三条规则是 -
假设这些是正确的, getBaseContext 有什么用?
我见过很多使用 -
创建新意图的例子Intent intent = new Intent(getBaseContext(), myClass.class);
与 -
相反Intent intent = new Intent(this, myClass.class);
哪种方法正确或推荐?为什么?
答案 0 :(得分:13)
getBaseContext()是ContextWrapper的方法。 ContextWrapper是“代理Context的实现,它简单地将所有调用委托给另一个Context。可以子类化来修改行为而不改变原始Context。” (根据javadocs)
因此,这用于将调用委托给另一个上下文。