Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态调用一个类?_Android_Android Intent - Fatal编程技术网

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