我在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);
我不明白为什么它的工作原理而不是前一个,如果有人可以解释我会感激不尽,但无论如何我的问题就这样解决了。
答案 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;); 获取意图,而不是设置类名。