从我的库项目中启动主项目的活动

3

我有两个项目,一个是我的主要项目(A),另一个是库项目(B)。我想从B项目中的一个活动开始A项目中的一个活动。我该怎么做?

我尝试了 startActivity(getApplicationContext(),B.class); 但是 B.class 未解析。

我如何让我的库项目启动我的主要项目的活动?


你是否已经在项目A的清单文件中添加了活动B? - sergiomse
你在主项目中添加了库项目吗? - Naveen Tamrakar
有方法可以实现你想要的功能,但是那种方式并不正确。基本上这是一个循环引用,这是你要避免的。在库中声明一些监听器接口,并从主项目中设置监听器。 - nitzanj
我已经在主项目中添加了库项目。 - harveyslash
请阅读以下文章:允许其他应用启动您的活动启动另一个活动。希望这能解决您的问题。 - jitain sharma
显示剩余3条评论
2个回答

6
您不需要使用意图过滤器。Activity A中的代码可以使用。
ComponentName cn = new ComponentName(this, "my.package.MyActivity.B");
Intent intent = new Intent().setComponent(cn);

startActivity(this, intent);

指定应启动活动B。


2
您可以在活动的意图过滤器中添加自定义操作,并通过指定操作来启动该活动。
<activity android:name="my.package.MyActivity">
    <intent-filter>
        <action android:name="my.package.action.MY_ACTION"/>
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="my.package"/>
    </intent-filter>
</activity>

使用以下代码启动活动:

final Intent intent = new Intent("my.package.action.MY_ACTION");
intent.addCategory(getActivity().getPackageName());
startActivity(getActivity(), intent);

除了添加意图过滤器,难道没有其他方法吗? - harveyslash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接