通常情况下获取当前应用的context的方法是getApplicationContext, 如果根据其他的packageName如何构造 Context呢? Android平台的应用实例其实还可以通过其他方式构造。
比如代码:
1.try {
2.Context context=createPackageContext("com.boweifeng.fr", 0);
3.//context已经是com.boweifeng.fr的实例
4.} catch(NameNotFoundException e) {
5.//可能由于pacakgeName不存在所以必须处理该异常
6.}
需要注意的是,createPackageContext方法的第二个参数可选为CONTEXT_INCLUDE_CODE 和 CONTEXT_IGNORE_SECURITY , 定义分别为4和2,上面为0。一般忽略安全错误问题可以通过CONTEXT_IGNORE_SECURITY 标记, 同时可能还需要处理 SecurityException 异常。