android应用/游戏上架国内渠道,国外GooglePlay接入的登录或者支付验证需要验证包名,versionCode,签名等应用信息,为了快速检查应用信息以工具化获取应用信息。
tips:在Activity下直接用getPackageManager可获取PackageManager实例
1、应用名:getPackageManager().getApplicationInfo(packName,0).loadLabel(getPackageManager());
返回CharSequence
2、应用Icon:getPackageManager().getApplicationInfo(packName,0).loadIcon(getPackageManager());
返回drawable
3、VersionCode:getPackageManager().getPackageInfo(packName,0).versionCode
4、VersionName:getPackageManager().getPackageInfo(packName,0).versionName
5、targetSdkVersion:getPackageManager().getPackageInfo(packName,0).applicationInfo.targetSdkVersion
6、minSDKVersion:getPackageManager().getPackageInfo(packName,0).applicationInfo.minSdkVersion
7、启动项:getPackageManager().getLaunchIntentForPackage(packName)
返回Intent,可用于跳转
获取启动项类名:getPackageManager().getLaunchIntentForPackage(packName).getComponent().getClassName()
8、权限:getPackageManager().getPackageInfo(packName,PackageManager.GET_PERMISSIONS).requestedPermissions
返回类型为字符串数组
9、activity组件:getPackageManager().getPackageInfo(packName, PackageManager.GET_ACTIVITIES).activities
返回ActivityInfo数据类
PackageInfo packageInfo = getPackageManager().getPackageInfo(packName, PackageManager.GET_ACTIVITIES)
for (ActivityInfo activityInfo : packageInfo.activities){
//获取activity名称
Log.d(TAG,activityInfo.name+"\n");
}
10、service组件:getPackageManager().getPackageInfo(packName, PackageManager.GET_SERVICES).services
返回ServiceInfo数据类
PackageInfo packageInfo = getPackageManager().getPackageInfo(packName, PackageManager.GET_SERVICES)
for (ServiceInfo serviceInfo : packageInfo.services){
//获取service名称
Log.d(TAG,serviceInfo.name+"\n");
}
11、provider组件:getPackageManager().getPackageInfo(packName, PackageManager.GET_PROVIDERS).providers
返回