启动外部程序
http://blog.csdn.net/xcookies/article/details/6694871
1.通过包名启动(只能启动外部程序中Launcher的Activity)
通过自己编写的程序启动另一个已安装的应用程序。
PackageManager packageManager = Start_RemoveSoftActivity.this.
getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(“应用程序包名");(
即你想启动的应用程序中AndroidManifest.xml中package的参数值)
你可以在intent中添加想要的data以及action
参数,使启动的应用程序可以获取相应的参数信息。
你也可以在启动前,获取PackageInfo
,来检测你想启动的应用程序是否已经安装,如果没有安装可以弹出友好提示。
2.通过包类名
Intent i = new Intent();
// 01.通过指定包类名,不需要修改被调用程序
i.setClassName("com.android.test2", "com.android.test2.Test2");
// 使用Component,效果和上面是一样的
// i.setComponent(new ComponentName("com.android.test2", "com.android.test2.
Test2"));
3.通过Action
// 同时需要修改被调的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");