在不知道其名称的情况下启动当前应用程序的MAIN活动

ale*_*2k8 7 android android-activity

我正在尝试编写一个实用程序方法,它可以启动标记为"android.intent.action.MAIN"的活动(属于当前应用程序).实用方法不应接受任何参数.

期望的代码:

public void startMainActivity(Context context) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

表现:

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ale*_*2k8 14

这适用于API Level 3(Android 1.5):

private void startMainActivity(Context context) throws NameNotFoundException {
    PackageManager pm = context.getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage(context.getPackageName());
    context.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)