我试图从另一个类中显示我的主要活动,但问题是我当时不知道类名(我正在编写的代码在 Android 库中,主要活动在具体应用)。
如何在运行时获取主要活动类或创建启动主要活动的意图?
我试过这个:
new Intent(Intent.ACTION_MAIN);
但什么也没有发生。
我试图从另一个类中显示我的主要活动,但问题是我当时不知道类名(我正在编写的代码在 Android 库中,主要活动在具体应用)。
如何在运行时获取主要活动类或创建启动主要活动的意图?
我试过这个:
new Intent(Intent.ACTION_MAIN);
但什么也没有发生。
为什么在第一次使用时初始化库时不传递主活动的名称?
在您所指的主要活动的清单中包含以下意图:
<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"));
您可以尝试实现一些接口(或者可能是抽象类)来描述您的主类。
并在您在库中编写的类中,实例化接口的一个对象。
这似乎是一个完美的契合:PackageManager.getLaunchIntentForPackage()
。请注意,它是 API 级别 3。