是否可以创建动态调用意图?
我想动态地将名为mIntent的字符串变量推送到intent调用中..是否可能:
Intent newView = new Intent(getContext(), mIntent);
newView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(newView)
我的解决方案,其中“mIntent”是一个字符串:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setComponent(new ComponentName("com.slcinstore2","com.lcinstore2."+mIntent));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(i);
这样做,然后将其添加到我的清单中工作!
答案 0 :(得分:3)
你的问题有点不清楚,但也许我仍然明白你想要做什么。 你的意图应该是这样的:
String clsName = "com.foo.bar.myClass"; // fully qualified name
Intent newView = new Intent(getContext(), Class.forName(clsName));
....
....
startActivity(newView);
这可能是你的想法....我已经测试了这个,所以我不知道它是否真的有效。
答案 1 :(得分:1)
您可以使用Class.forName()并使用getPackageName()来避免硬编码:
Intent newView = new Intent(getContext(), Class.forName(getPackageName() + "YourClassName"));
startActivity(newView);