想要在代码里获得apk版本号.如何样脱离Activity, Service或者BroadcastReceiver等取得PackageManager

想要在代码里获得apk版本号..怎么样脱离Activity, Service或者BroadcastReceiver等取得PackageManager我想

想要在代码里获得apk版本号..怎么样脱离Activity, Service或者BroadcastReceiver等取得PackageManager
我想要在android代码里获得apk版本号
代码如下:


try {
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageInfo("com.example.test", 0);
int version = info.versionCode;
}
catch (NameNotFoundException e) {
}


问题是getPackageManager()这个函数是由Context提供的.

而我以上代码是纯java类TransferProtocol里面的,它不知道任何的Activity, Service或者BroadcastReceiver...
也就是说调用不到Context.getPackageManager()这个函数...

我又不想因为要取得PackageManager而将纯java类TransferProtocol跟Activity, Service或者BroadcastReceiver偶合在一起...
[解决办法]
纯java的你就底层的jni之类的吧  这个是android上层的使用方法 ,你想跳开,就只能使用封装之前的方法了

或者解析manifest等等神马的   (我没搞过  不能搞定问题别介)
[解决办法]
没那么复杂的,直接传个context进去就可以了。
[解决办法]
或者可以在自己的Application类里写一个方法,然后调用这个方法
MyApp app = (MyApp) getApplication();
app.getVersion();

...
[解决办法]
3楼正解。。
[解决办法]
直接传递个context即可也有类似getApplicationContext()的方法