我需要一种方法来启动(更有可能带到前面)一个活动“MyActivity”...我只知道xml清单(意思是我知道:pachage名称,类名,意图fiters - MAIN only&没有特别的广播)
那么我该如何开始这项活动?
我现在使用的是什么:
public boolean startActivity2(String componentName) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(ComponentName.unflattenFromString(componentName));
if (m_ContainerActivity.getPackageManager().resolveActivity(intent, 0) != null) {
m_ContainerActivity.startActivity(intent);
return true;
}
return false;
}
我称之为:
startActivity2("com.app.pachage/.subpack.MyActivity");
这开始活动,但我的过程 - 所以+10到奇怪的行为(我在旧过程中也有MyActivity)..我想要的是从后堆栈中带回旧的..
注意:MyActivity在intents filter& amp;中没有特定意图。没有广播!
所以想法?
答案 0 :(得分:0)
或许尝试这样:
Intent i = new Intent();
i.setClassName("com.app.pachage", "com.app.pachage.subpack.MyActivity");
startActivity(i);
答案 1 :(得分:0)
尝试设置一些Intent标志,例如
I.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)
答案 2 :(得分:0)
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT|Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
或者您可以尝试这样
Intent intent = new Intent();
intent.setClassName(getapplicationContext(), com.app.pachage.subpack.MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT|Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);