以前总不想写博客,原因很简单——懒!今天突然醒悟,想用写博客的方式把自己学习中觉得有价值的东西记录下来,并且与大家分享,如有任何错误敬请指出,日后一定改正!
进入正题,最近在学习语音识别的相关知识,做到要实现启动系统现有的APP,通过上网查找,从以下文章中得到启发。
http://www.javaeye.com/topic/664966
轻松实现在本应用中调用其他的应用程序,但未能的获得 系统现有APP的应用程序名,然而这应用程序名又是我做语音启动时所需要的。
通过上网查找资料,终于得到了我想要的数据。
...
PackageManager pm;
...
...
Intent it =new Intent(Intent.ACTION_VIEW); ComponentName componentName=new ComponentName(mApps.get(index).activityInfo.packageName,mApps.get(index).activityInfo.name); it.setComponent(componentName); startActivity(it); CharSequence c = pm.getApplicationLabel(mApps.get(index).activityInfo.applicationInfo);//获得 点击的应用程序 名 Toast.LENGTH_LONG ).show(); Toast.makeText(showapp.this, c.toString(), Toast.LENGTH_LONG).show(); ...
public void loadApps(){ Intent i=new Intent(Intent.ACTION_MAIN,null); i.addCategory(Intent.CATEGORY_LAUNCHER); mApps=getPackageManager().queryIntentActivities(i, 0); pm = this.getPackageManager(); }
...
详细源代码参考 http://www.javaeye.com/topic/664966,在其基础上修改获得。
