RePlugin插件开发

RePlugin插件

RePlugin框架开发插件时activity默认的标题都是宿主的应用名,这样太不方便,现在需要在插进里面自己设置标题,下面的方法可以获取插件的activity的真实的标签名:

public class RePluginHelper {

    //Replugin插件getPluginContext的getPackageName()和正常的getPackageName()返回的是宿主的包名,
    //getApplicationInfo()的packageName返回的是插件的包名
    public static String getPackageName(Context context){
        return context.getApplicationInfo().packageName;
    }

    /**
     * 读取插件的activity的标签名
     * @param context
     * @return
     */
    public static CharSequence getActivityLabel(Activity context){
        try {
            ActivityInfo activityInfo = context.getPackageManager().getActivityInfo(new ComponentName(getPackageName(context),context.getClass().getCanonicalName()), PackageManager.GET_ACTIVITIES);
            CharSequence label = activityInfo.loadLabel(context.getPackageManager());
            return label;
        } catch (PackageManager.NameNotFoundException e) {
            return context.getTitle();
        }
    }

    /**
     * 读取插件的应用名
     * @param context
     * @return
     */
    public static CharSequence getAppLabel(Context context){
        return context.getApplicationInfo().loadLabel(context.getPackageManager());
    }
}

猜你喜欢

转载自blog.csdn.net/loveliwenyan2012/article/details/79973524
今日推荐