在Android中我们可以通过下面两种方式来启动一个新的Activity,注意这里是怎么启动,而非 启动模式!!分为显示启动和隐式启动!
1. 显式启动:通过包名来启动,写法如下:
①最常见的:
startActivity(new Intent(当前Act.this,要启动的Act.class));
②通过Intent的ComponentName:
ComponentName cn = new ComponentName("当前Act的全限定类名","启动Act的全限定类名") ; Intent intent = new Intent() ; intent.setComponent(cn) ; startActivity(intent) ;
③初始化Intent时指定包名:
Intent intent = new Intent("android.intent.action.MAIN"); intent.setClassName("当前Act的全限定类名","启动Act的全限定类名"); startActivity(intent);
2.隐式启动:通过Intent-filter的Action,Category或data来实现 这个是通过Intent的 intent-filter**来实现的,这个Intent那章会详细讲解! 这里知道个大概就可以了!
3. 另外还有一个直接通过包名启动apk的:
Intent intent = getPackageManager().getLaunchIntentForPackage ("apk第一个启动的Activity的全限定类名") ; if(intent != null) startActivity(intent) ;