android String转Class 自定义推送跳转Activity或者接口控制动态跳转相应的Activity

来源:互联网 发布:马尔可夫算法的应用 编辑:程序博客网 时间:2024/05/21 08:41

使用java的反射机制可以达到所要的效果:

String activityName = "MainActivity";
Class clazz = Class.forName(activityName);
Intent intent = new Intent(this,clazz);
startActivity(intent);
要注意的是activityName必须是完整的类路径,包括包名,如果MainActivity和当前activity不在同一个包,比如在com.test包下,就是com.test.MainActivity


也可以使用隐式启动达到效果,

在清单文件中设置需要启动的activty的action属性

然后在代码中,通过隐式启动activity

1
2
3
String action = "com.test.activity.next";
Intent intent = new Intent(action);
startActivity(intent);

需要注意的是android5.0之后隐式启动是禁止的

你需要加上这句代码

intent.setPackage(getPackageName());


原创粉丝点击