use of com.jia.base.annotation.Action in project Headline by kb18519142009.
the class BaseApplication method getAllActivities.
/**
* 初始化 路由表
*/
private void getAllActivities() {
try {
DexFile dexFile = new DexFile(this.getPackageResourcePath());
Enumeration entries = dexFile.entries();
while (entries.hasMoreElements()) {
String entryName = (String) entries.nextElement();
// 开始匹配Activity
if (entryName.contains("activity") && entryName.contains("Activity")) {
// 通过反射获得Activity类
Class entryClass = Class.forName(entryName);
if (entryClass.isAnnotationPresent(Action.class)) {
Action action = (Action) entryClass.getAnnotation(Action.class);
this.mapping.put(action.value(), entryClass);
}
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
Aggregations