class.forname的使用

xxim继承于主项目xxclient,xxclient调用xxim里面的activity,因依赖倒置,需要用Class.forName反射拿到class完成调用。

原生代码

Intent intent = new Intent(ctx, AActivity.class);
Intent intent = new Intent(ctx, cls);
startActivity(intent);

Class.forName调用

try {
         Class<?> cls = Class.forName("com.xx.xxx.AActivity");
         Intent intent = new Intent(ctx, cls);
         startActivity(intent);
     } catch (ClassNotFoundException e) {
     e.printStackTrace();
    }