Android:如何显示主要活动?

问题描述:

我试图从另一个类中显示我的主要活动,但问题是我不知道在那一点上的类名(我正在编写的代码是在一个Android库内,主要活动在具体的应用程序)。Android:如何显示主要活动?

如何在运行时获取主要活动类或以其他方式创建启动主要活动的意图?

我尝试这样做:

new Intent(Intent.ACTION_MAIN); 

但没有任何反应。

+0

你想开始活动吗? – Venky 2011-03-19 06:39:45

+0

你有没有试过这个startActivity(新的意图(Yourcurrentclass.this,YourActivityname.class)); – Venky 2011-03-19 06:42:17

+0

是的,但我不知道这是什么类,每个应用程序有一个不同的。我在图书馆项目中拥有这种共享行为。 – futlib 2011-03-19 13:13:50

这似乎是一个完美契合:PackageManager.getLaunchIntentForPackage()。请注意,它是API级别3。

+0

作品很有魅力,谢谢! – futlib 2011-03-28 10:19:25

第一次使用初始化库时,为什么不传递主活动的名称?

+0

这有点难,因为我需要知道BroadcastReceiver中的类。 Android框架实例化它,所以我不知道它何时被初始化。我试图设置接收器的静态成员,但它也没有真正的工作。任何其他想法? – futlib 2011-03-22 10:56:40

包括在清单中的主要活动如下意图,你指的是:

<intent-filter> 
    <action android:name="com.android.myproject.THIS_IS_MY_ACTION" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

,您可以使用调用这个类:

startActivity(new Intent("com.android.myproject.THIS_IS_MY_ACTION")); 

可以尝试实施一些接口(或者可能是抽象类)来描述你的主类。

而在您正在库中编写的类中,实例化接口的对象。