Android从不同的项目启动活动

Android从不同的项目启动活动,android,eclipse,android-intent,android-activity,launch,Android,Eclipse,Android Intent,Android Activity,Launch,我在Eclipse中有两个项目。当我单击project1中的按钮时,我希望它从project2启动一个活动。 我该怎么做? 我尝试了以下代码 Intent intent = new Intent(this,com.project2.tp02.MainActivity.class); intent.setClassName("com.project2.tp02", "com.project2.tp02.MainActivity.class"); startActivity(intent);

我在Eclipse中有两个项目。当我单击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);
我不明白为什么它是这样工作的,而不是以前的,如果有人能解释我会很感激的,但无论如何我用这种方式解决了我的问题。


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

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

很有意思的是错误消息到底说了什么。。。对于要调用的活动,确实需要Swayam描述的意图过滤器

试一试 新意图(“com.project2.tp02.MainActivity”);
要获得目的,不要设置类名。

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

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

我认为您的第一个代码不起作用,因为您在另一个应用程序中提供了当前活动作为被调用活动的上下文。

查看此内容了解更多信息:感谢您的回答,但它不起作用:(第一个应用程序崩溃时,我收到一个错误(不幸的是,应用程序TP02停止)…请提供异常的详细信息,因为这里没有足够的信息来确定问题的原因。我想你是对的,也许第一种方法的问题来自上下文…无论如何,问题已经解决了,我如何将其标记为已解决?只需在你的答案附近进行检查?我找不到任何类似于中的名为“已解决”的按钮其他论坛…是的,绿色复选标记为已解决…单击指向我答案的向上箭头也可以将此答案标记为有用。非常感谢您的帮助。我用上面提到的方法解决了问题,但无论如何,我感谢您的帮助