java - 启动一个基于字符串的 Intent

标签 java android

是否可以根据字符串获取类名。例如

String activityName = "Activity";
Intent i  = new Intent(context, ...);

一些如何转换字符串来调用 Activity 类

Intent i = new Intent(context, Activity.class);

最佳答案

这是很有可能的。首先,您必须使用 activity 的全名而不是文件名,例如 com.package.Activity

String className = "com.package.Activity";

然后您可以使用该名称创建一个 Class,如下所示:

Class<?> myClass = Class.forName(className);

只需创建此 Class 的新实例并将其转换为 Activity

Activity myActivity = (Activity) myClass.newInstance();

关于java - 启动一个基于字符串的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041016/

相关文章:

java - Android:开发的应用程序可以在模拟器中运行,但无法安装在我的设备中

android - Jetpack Compose,TextField中的自定义光标位置

java - 如何在 JFrame 中的任意位置设置按钮的位置

java - 如何将参数传递给 Hadoop 中的主程序

java - Android 中的膨胀布局

java - 单元测试从另一个类调用的方法

java - "this"不是 Android JNI 中的有效 JNI 引用

android - 是否可以在 root 的 Android 手机上隐藏 'USB Debugging' 切换?

java - 为什么我的 Bamboo 构建被 Java 子进程阻止?

Java - 子类中的绘制方法不起作用