我有来自两个不同包的两个活动,我希望从package1调用Package2中的一个活动 为此,我使用了以下内容,
Intent intentDeviceTest = new Intent();
intentDeviceTest.setComponent(new ComponentName("chat.client.gui","chat.client.gui.MainActivity"));
startActivity(intentDeviceTest);
这显示找不到活动的错误,将其添加到清单。
但是当我以这种方式调用它时,它工作正常,
Intent intentDeviceTest = new Intent(HomeActivity.this,MainActivity.class);
startActivity(intentDeviceTest);
上述方法中的错误是什么!
答案 0 :(得分:0)
我总是在我的应用中使用第二种形式。它更简单,更清晰,更短。
// Assumes that this is done from within an Activity
Intent intent = new Intent(this, AnotherActivity.class);
startActivity(intent);
但我认为第一种形式的问题是你在第二个参数中再次指定了包。您只需要班级名称:
Intent intentDeviceTest = new Intent();
intentDeviceTest.setComponent(new ComponentName("chat.client.gui", "MainActivity"));
startActivity(intentDeviceTest);
查看此处的第一个构造函数以获取参考: http://developer.android.com/reference/android/content/ComponentName.html