【Android】共享APK中的资源文件
16lz
2022-01-22
1、使用相同的android:sharedUserId
2、使用下面的类
package com.lemote.ebag.Utils;import android.content.Context;import android.content.pm.ApplicationInfo;import android.content.pm.PackageManager;import android.content.pm.PackageManager.NameNotFoundException;import android.graphics.drawable.Drawable;public class ResourceUtils {private static ResourceUtils resourceUtils = null;private Context mContext;private String mPackagename;private ResourceUtils() {}public static ResourceUtils getInstance() {if (resourceUtils == null) {resourceUtils = new ResourceUtils();}return resourceUtils;}public String getString(String filename) {if (mContext != null)return mContext.getResources().getString(mContext.getResources().getIdentifier(filename, "string",mContext.getPackageName()));return null;}public Drawable getDrawable(String filename) {if (mContext != null)return mContext.getResources().getDrawable(mContext.getResources().getIdentifier(filename, "drawable",mContext.getPackageName()));return null;}public boolean checkApkExist(Context context, String packageName) {if (packageName == null || "".equals(packageName))return false;try {ApplicationInfo info = context.getPackageManager().getApplicationInfo(packageName,PackageManager.GET_UNINSTALLED_PACKAGES);return true;} catch (NameNotFoundException e) {return false;}}public void init(Context context, String packagename) {if (this.mPackagename != packagename) {try {mContext = context.createPackageContext(packagename,Context.CONTEXT_IGNORE_SECURITY);} catch (NameNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}this.mPackagename = packagename;}}
3、调用方法
ResourceUtils resourceUtils = ResourceUtils.getInstance();resourceUtils.init(mContext, "com.lemote.about");icon.setImageDrawable(resourceUtils.getDrawable( "ebag"));tx_version.setText(resourceUtils.getString( "about_version"));tx_appname.setText(resourceUtils.getString( "about_appname"));about_company_ch.setText(resourceUtils.getString( "about_company_ch"));about_company_en.setText(resourceUtils.getString( "about_company_en"));其他资源的获取 自己在工具类中添加
更多相关文章
- 实现Android图片圆角
- 获取sdcard文件
- Android中json操作数据的使用
- View的XML 属性大全(官方文档)
- Android(安卓)Hook学习之ptrace函数的使用
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程