android - 如果我将从 Api 获得移动意图,如何在 android studio 的包中找到类名
问题描述
我正在从 Api 获得移动意图,并且我使用以下代码来查找我的结构中存在的所有类。
try {
final String thisPackage = context.getPackageName();
System.out.println("This Package ------>"+thisPackage);
final DexFile tmp = new DexFile(context.getPackageCodePath());
for (Enumeration<String> iter = tmp.entries(); iter.hasMoreElements(); ) {
final String classFullname = iter.nextElement();
if (classFullname.startsWith(thisPackage)) {
// TODO filter out also anonymous classes (es Class1$51)
final int index = classFullname.lastIndexOf(".");
final String c = (index >= 0) ? classFullname.substring(index + 1) : classFullname;
System.out.println("Class Name --------->"+ c);
}
}
} catch (Throwable ex) {
showToast(context,"Unable to collect class fullnames. Reason: " + ex.getCause() + "\n\rStack Trace:\n\r" + ((ex.getCause() != null)? ex.getCause().getStackTrace(): "none"));
}
但我不想评价。我想要的只是将所有类加载到 Map 或 Factory 中。请提供更好的解决方案。
解决方案
推荐阅读
- json - 如何将 aws-sdk-go 的输出设置为“文本”?
- javascript - 基于 JavaScript / jQuery 中的更多数据属性值隐藏/显示 div
- c# - 类型别名可以用来定义类型别名吗?
- r - 将向量替换为具有不同长度的上三角矩阵
- java - onActivityCreated 启动了 3 次
- java - Spring Boot 不起作用自定义 JPA 请求
- regex - 正则表达式替换第 n 次出现的下划线字符串
- java - Android Java - Firebase 中的 .getDownloadUrl().toString() 返回“com.google.android.gms.tasks.zzu@9501820”如何使用它来加载图像?
- java - 棋盘游戏的极小极大搜索中的状态维护出错
- laravel - laravel 通过索引访问一个雄辩的行数据