別人寫得我不一定看得懂,我寫得別人不一定看得懂XD
實做前必須要知道被呼叫的Class Package以及Class Name吧?
所以我們先開啟一個專案a,Name:Testa,Package:com.cyfang.testa
在開啟另一個專案b,Name:Testb,Package:com.cyfang.testb
先將以下Code貼到個別專案
public class Testa extends Activity { private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_testa); Toast.makeText(this, "這是A視窗", Toast.LENGTH_LONG).show(); button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("android.intent.action.MAIN"); intent.setClassName("Package名稱", "完整名稱含Package"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); startActivity(intent); finish(); } }); } }
接著我們來看看這個程式到底在做些什麼吧
這程式有一個Button,點擊按鈕會宣告一個Intent物件,當作是android.intent.action.MAIN
接著設定ClassName,第一個參數為Package,第二個參數為Name,下方舉的例子是用在Testa
ex:
intent.setClassName("com.example.testb","com.example.testb.Testb"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
接著設定標籤
將開啟的apk設定為新的工作,設定在當前視窗顯示
接著使用startActivity意圖啟動一個Activity,並且關閉程式
執行畫面如下:
參考資料:
http://www.javaworld.com.tw/jute/post/view?bid=26&id=268293
http://codaya.blogspot.tw/2011/03/androidaok.html