想要在代码里获得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()的方法
