需求:三方app想要获取手机默认桌面Launcher App里的壁纸图片资源。
方案:根据目标app的包名创建获取它的Context上下文对象,再通过Context获取Resources对象以及获取里面的图片资源等。
上代码:
Context appResContext = mContext.createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY);
if (appResContext != null) {
Resources resources = appResContext.getResources();
int resID = resources.getIdentifier("wallpapers", "array", packageName);
final String[] extras = resources.getStringArray(resID);
for (String extra : extras) {
int res = resources.getIdentifier(extra, "drawable", packageName);
if (res != 0) {
mImages.add(res);
}
}
}