android的应用程序调用另一个应用程序的方法
上午看了看一个帖子,谈论到android的应用程序调用另一个应用程序的方法。
我的第一反应就是使用aidl进程间通信,aidl通信可以参考博客 http://blog.csdn.net/stonecao/article/details/6425019 ,可能很多人都有和我一样的想法。但后来又想了想,我们不是经常调用系统照相机、搜索这些功能么,这个也属于android的应用程序调用另一个应用程序的方法吧,只是这个程序属于系统服务。本想自己写个简单的例子,但网上已有现成的,参考http://wwwwww.eoeandroid.com/forum.php?mod=viewthread&tid=69600这个帖子。
另一个帖子http://wwwwww.apkbus.com/android-43480-1-1.html也有介绍,附上另一个网友的经典回答
通过PackageManager可以得到PackageInfo,通过PackageInfo就可以得到你手机上安装的应用的包名(这个很简单,网上有的是,不赘述)。关键是下一步,代码如下(也是a应用中Button的onclick中的代码):
PackageManager packageManager = Start_RemoveSoftActivity.this.getPackageManager();
Intent intent=new Intent();
try {
intent =packageManager.getLaunchIntentForPackage("要调用应用的包名");
} catch (NameNotFoundException e) {
Log.i(TAG, e.toString());
}
startActivity(intent);