Android从不同项目开始活动

时间:2014-03-30 11:31:01

标签: android eclipse android-intent android-activity launch

我在Eclipse中有2个项目。当我单击project1中的按钮时,我希望它从project2启动一个活动。 我怎样才能做到这一点 ? 我尝试了以下代码

Intent intent = new Intent(this,com.project2.tp02.MainActivity.class);
intent.setClassName("com.project2.tp02", "com.project2.tp02.MainActivity.class");
startActivity(intent);  

我收到一条错误消息,告知第一个应用程序已停止。如果没有这样的错误,我该如何正确地进行操作?

提前感谢任何助手。


我用它来完成它的工作:

Intent intent = new Intent();
String pkg ="com.project2.tp02";
String clazz =pkg + ".MainActivity";
intent.setComponent(new ComponentName(pkg, clazz));
startActivity(intent);

我不明白为什么它的工作原理而不是前一个,如果有人可以解释我会感激不尽,但无论如何我的问题就这样解决了。

3 个答案:

答案 0 :(得分:1)

这是用于调用另一个项目中的活动的工作代码。

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.my.package", "com.my.package.MyClass"));
startActivity(intent);

我认为您的第一个代码无法正常运行,因为您将当前活动作为调用活动的上下文提供给另一个应用程序。

答案 1 :(得分:0)

            <intent-filter>
                <action android:name="com.project2.tp02.MainActivity" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

在第一个活动的清单中添加上述行可能会解决您的问题。

答案 2 :(得分:0)

错误消息的确切含义会很有趣......你确实需要Swayam所描述的关于你想要调用的活动的intent-filter。

尝试 新意图(&#34; com.project2.tp02.MainActivity&#34;); 获取意图,而不是设置类名。