別人寫得我不一定看得懂,我寫得別人不一定看得懂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

