另外一個程序中的Activity要可以被啓動,首先這個Activity在manifest的聲明中必須具備<intent-filter>屬性。不然將不能被啓動。java
咱們必須知道:Android程序中Context分紅兩種。一種是Activity Context,另外一種是Application Context。經過Activity Context來啓動另外一個程序代碼是很簡單。代碼以下。spa
Intent i = new Intent(); i.setClassName("packagename", "classname"); startActivity(i);
可是若是經過Application Context來啓動Activity的話。就須要FLAG_ACTIVITY_NEW_TASK屬性,無論這個Activity是屬於其餘程序仍是本身這個程序的。code
Intent i = new Intent(); i.setClassName("packagename", "classname"); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//必須添加 getApplicationContext().startActivity(i);
這樣的話會把啓動的程序放到一個新的TASK中。get