標籤:工具 application android package
1、擷取application中指定key的meta-data值
public static String getApplicationMetadata(Context context,String metaDataKey) { ApplicationInfo info = null; try { PackageManager pm = context.getPackageManager(); info = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); return String.valueOf(info.metaData.get(metaDataKey)); } catch (Exception e) { e.printStackTrace(); } return null; }
應用情境:在程式打包上線到不同的應用市場時需要給每一個apk設定不同的渠道id,打包後查看log資訊是否正確。
例如:
<meta-data android:name="UMENG_CHANNEL" android:value="Offline" />
調用方法:PackageUtils.getApplicationMetadata(App.getInstance()
.getContext(), "UMENG_CHANNEL")擷取到的結果就Offline
2、擷取包名
public static String getPackageName(Context context){ return context.getPackageName(); }
3、擷取版本名稱
public static String getVersionName(Context context){ try { PackageManager manager = context.getPackageManager(); PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0); String version = info.versionName; return version; } catch (Exception e) { e.printStackTrace(); } return "1.0"; }
4、得到版本號碼
public static int getVersionCode(Context context){ try { PackageManager manager = context.getPackageManager(); PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0); int version = info.versionCode; return version; } catch (Exception e) { e.printStackTrace(); } return 1; }
這些資訊只是為了檢查程式中的設定是否真確不是每次都需要的,所以通常情況下把log資訊在進入應用的引導動畫所在的activity中列印出來就好了。
Android中幾個實用的PackageUtils小工具