啟動外部程序
http://blog.csdn.net/xcookies/article/details/6694871
1.通過包名啟動(只能啟動外部程序中Launcher的Activity)
通過自己編寫的程序啟動另一個已安裝的應用程序。
PackageManager packageManager = Start_RemoveSoftActivity.this.
getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(“應用程序包名");(
即你想啟動的應用程序中AndroidManifest.xml中package的參數(shù)值)
你可以在intent中添加想要的data以及action
參數(shù),使啟動的應用程序可以獲取相應的參數(shù)信息。
你也可以在啟動前,獲取PackageInfo
,來檢測你想啟動的應用程序是否已經(jīng)安裝,如果沒有安裝可以彈出友好提示。
2.通過包類名
Intent i = new Intent();
// 01.通過指定包類名,不需要修改被調(diào)用程序
i.setClassName("com.android.test2", "com.android.test2.Test2");
// 使用Component,效果和上面是一樣的
// i.setComponent(new ComponentName("com.android.test2", "com.android.test2.
Test2"));
3.通過Action
// 同時需要修改被調(diào)的Activity所在應用中的manifest文件,在其intent-filter
中添加上:
// <action android:name="com.android.test2.action.Test2"> <!-- 對應下面
setAction的值 -->
// <category android:name="android.intent.category.DEFAULT" /> <!-- 必須添加
-->
i.setAction("com.android.test2.action.Test2");