在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) ;