2014年11月12日

android app sending simple data to other app

在Project appA的MainActivity.java onCreate Method 中為按鈕填入事件

Button btnCall = (Button) findViewById(R.id.btnCall);
btnCall.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.example.appB", "com.example.topdf.MainActivity"));
    startActivity(intent);
}
=======
建立 Project appB
將appA 及 appB 程式deploy到測試裝置或模擬器試試,執行appA,按下按鈕就會叫用appB 但如果沒有安裝appB則會異常結束。
另一種方式是如果只知道package而不知用哪個Activity, 則可以用這個寫法,但如果沒有安裝appB仍然會異常結束。
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.example.appB");
startActivity(LaunchIntent);
也可以用傳送資料的方式叫用其他的app
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Hello I'm appA.");
sendIntent.setType("text/plain");
startActivity(sendIntent);
這樣即使沒有安裝appB,也可以選擇叫用其他app