gpt4 book ai didi

android - 检索另一个已安装应用程序的 minsdk

转载 作者:行者123 更新时间:2023-11-30 01:57:15 26 4
gpt4 key购买 nike

给定 packageinfo 和 applicationinfo 对象,有没有办法直接拉取另一个安装的应用程序的 minsdk 值?或者无法直接提取 list 并解析它?

最佳答案

这是可能的。您必须创建包上下文,然后使用它来提取 list 并手动解析它。这是我用来完成我需要的代码 fragment 。

Context otherAppContext = context.createPackageContext(packageName, CONTEXT_RESTRICTED);
XmlResourceParser xmlResourceParser = otherAppContext.getAssets().openXmlResourceParser("AndroidManifest.xml");
int eventType = xmlResourceParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
Log.i(DEBUG_TAG, "Start document");
} else if (eventType == XmlPullParser.START_TAG) {
String startTag = xmlResourceParser.getName();
Log.i(DEBUG_TAG, "Start tag " + startTag);
if (startTag.equals("uses-sdk")) {
int count = xmlResourceParser.getAttributeCount();
for (int i = 0; i < count; i++) {
String text = xmlResourceParser.getAttributeName(i);
if (text.equals("minSdkVersion")) {
minSdkVersion = xmlResourceParser.getAttributeIntValue(i, -1);
break;
}
}
}
} else if (eventType == XmlPullParser.END_TAG) {
Log.i(DEBUG_TAG, "End tag " + xmlResourceParser.getName());
} else if (eventType == XmlPullParser.TEXT) {
Log.i(DEBUG_TAG, "Text " + xmlResourceParser.getText());
}
eventType = xmlResourceParser.next();
}

就像一个魅力。不要忘记在某处关闭资源解析器。

关于android - 检索另一个已安装应用程序的 minsdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com