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