android获取系统现有APP的应用程序名

来源:互联网 发布:胎教软件哪个好 编辑:程序博客网 时间:2024/05/29 01:54

     以前总不想写博客,原因很简单——懒!今天突然醒悟,想用写博客的方式把自己学习中觉得有价值的东西记录下来,并且与大家分享,如有任何错误敬请指出,日后一定改正!

       进入正题,最近在学习语音识别的相关知识,做到要实现启动系统现有的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,在其基础上修改获得。


原创粉丝点击