我想打开一个活动而不在清单文件中声明它。 我不知道是否可能。 我真正想要的是使用意图从我的程序动态打开一个活动。 如果有可能,任何人都可以帮助我。
答案 0 :(得分:4)
不可能。虽然我不确定你的意思是“动态开启一项活动”。
请参阅:http://developer.android.com/reference/android/app/Activity.html
在类概述中,它声明“要与Context.startActivity()一起使用,所有活动类必须在其包的AndroidManifest.xml中具有相应的声明”
您可以在程序包中包含一个Activity,而不是在清单中定义它,但是您无法成功启动它。
答案 1 :(得分:0)
您的“动态”活动开始实际上是开始活动的正常方式(正如您在对Matt M的回答中所说的那样)。虽然您有要在清单中添加活动,但 Matt M 表示。在列表视图中,单击一个活动将调用一个函数,该函数将使用startActivity()函数启动相应的活动。
答案 2 :(得分:0)
我试了很久,但是由于Instrumentation类使用了IActivityTaskManager,它是位于com.android.server.wm的内部API的一个类,不在Activity类加载器中,我用另一种方法解决了这个问题:
<块引用>使用子类
我刚刚制作了一个 Gist,带有示例代码。