我对 android Context 有一个小问题,我不知道如何解决这个问题。这是我正在使用的代码:
public class TestActivity {
Context context;
public static String getPackageVersion(){
try {
PackageManager pm = context.getPackageManager();
PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
version = packageInfo.versionName;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return version;
}
public static boolean checkClientApiVer(String clientApiVer){
int s = RPCCommunicator.strVerToIntVer(clientApiVer);
int c = RPCCommunicator.strVerToIntVer(getPackageVersion());
return (c>=s);
}
public boolean execute() {
serverApiVer = jsonObj.getString("server_api_ver");
Log.w("SERVER API VER","SHOW SERVER API VERSION : "+serverApiVer);
checkClientApiVer(serverApiVer);
}
}
它在这一行显示空指针异常:
PackageManager pm = context.getPackageManager();
其实我不能用this.getPackageManager()
, or TestActivity.getPackageManager()
我无法设置context
to this
.
有什么建议么?
@Roflcoptr指出了基本的,但实际上,你的类没有扩展活动,所以它不是上下文,将其更改为:
public class TestActivity extends Activity
如果您希望它是一个实际的活动,或者如果它只是一个辅助类,请在实例化活动时将其传递给它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)