一、获取其他包的Context
开发时遇到这样一个问题,当前app需要读取其他app中的资源,如shared_prep中保存的共享数据,这时候需要获取其他app的Context。
Context context = this.createPackageContext("包名", Context.CONTEXT_IGNORE_SECURITY);
二、普通类中获取Context
在Activity中,获取context很简单,但是在普通类中,通过常规方式获取到的context会显示为null。
例如:
public class mManager{
//TODO
} 在这样的普通类中想要获取Context,可以用全局获取Context的方式解决
1.项目中自定义Application类
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
context = getApplicationContext();
}
public static Context getContext() {
return context;
}
}
2.AndroidManifest.xml文件中Application节点中配置,写完整路径
<application
android:name="com.xxx.MyApplication" >
</application>
3.项目中调用:
public class mManager{
//TODO
MyApplication.getContext();
}
本文介绍了两种在Android应用中获取其他应用Context的方法:一是通过createPackageContext获取指定包名的应用Context;二是通过自定义Application类并全局获取Context,以便在普通类中使用。
1486

被折叠的 条评论
为什么被折叠?



