2

我有我的申请。它运作良好。现在我开发了一个小插件,它安装到系统中并隐藏在启动器图标中:

<activity android:name="GitHubSearch"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>

我正在尝试使用以下答案启动此活动: Android: Starting An Activity For A Different Third Party App,但我的应用程序失败并出现异常 - 未找到活动。

final Intent i = new Intent("android.intent.action.MAIN");
            i.setComponent(new ComponentName("com.example.me.module","com.example.me.module.MyActivity"));
            startActivity(i);

我检查了 10 次我传递给意图的包名称和活动名称。一切安好。

我哪里错了?

4

1 回答 1

2

看来你所需要的只是

android:exported = "true"

activity清单 xml 中的节点。

默认情况下,Android 不导出活动。导出 Activity 意味着它允许任何东西启动 Activity。

有两种导出方式 - 上述方式和设置自定义intent-filter.

如果您希望新模块仅与您的应用程序通信,您可以看到这个SO 答案,但他们指出不建议这样做。

于 2013-01-13T00:14:08.820 回答