【Android】共享APK中的资源文件
16lz
2021-01-23
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全屏设置方法
- Android反射工具类ReflectUtil
- 快捷方式工具类
- android studio gradle 两种更新方法更新【转】
- android Gridview生成程序快捷键的简单方法
- Android获取GPS进行定位的工具类
- 分享方法:android 获得屏幕状态
- Android studio 实现圆形ImageView的方法步骤
- android分享应用工具类