Android 动态调用一个类?
是否可以创建对意图的动态调用?Android 动态调用一个类?,android,android-intent,Android,Android Intent,是否可以创建对意图的动态调用? 我想动态地将一个名为minent的字符串变量推送到一个intent调用中。。是否可能: Intent newView = new Intent(getContext(), mIntent); newView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); getContext().startActivity(newView) 我的解决方案,其中“m
我想动态地将一个名为minent的字符串变量推送到一个intent调用中。。是否可能:
Intent newView = new Intent(getContext(), mIntent);
newView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(newView)
我的解决方案,其中“minent”是字符串:
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);
这样做,然后将其添加到我的清单工作 你的问题有点不清楚,但也许我仍然理解你想做什么。 您应该如下所示:
String clsName = "com.foo.bar.myClass"; // fully qualified name
Intent newView = new Intent(getContext(), Class.forName(clsName));
....
....
startActivity(newView);
这可能就是你的想法。。。。我还没有测试过这个,所以我不知道它是否真的有效。你的问题有点不清楚,但也许我仍然理解你想做什么。 您应该如下所示:
String clsName = "com.foo.bar.myClass"; // fully qualified name
Intent newView = new Intent(getContext(), Class.forName(clsName));
....
....
startActivity(newView);
这可能就是你的想法。。。。我还没有测试过这个,所以我不知道它是否真的能工作。您可以使用Class.forName()和getPackageName()来避免硬编码:
Intent newView = new Intent(getContext(), Class.forName(getPackageName() + "YourClassName"));
startActivity(newView);
您可以使用Class.forName()和getPackageName()来避免硬编码:
Intent newView = new Intent(getContext(), Class.forName(getPackageName() + "YourClassName"));
startActivity(newView);
您的问题不清楚,您将
字符串变量推送到哪里?minent
的类型是什么?您想在调用的活动中使用什么?Minent是我从数据库中获取的字符串。。我希望它成为我的类名并启动新的意图您的问题不清楚,,,您将字符串变量推到哪里?minent
的类型是什么?您想在调用的活动中使用什么?Minent是我从数据库中获取的字符串。。我希望它成为我的类名并启动新的intent