android开发中如何开启用户安装的应用程序?

android开发中如何开启用户安装的应用程序?
2011-03-07 12:12 提问者: waterstarsx | 浏览次数:632次
如我想设置一个按钮,当用户点击按钮是可以启动qq,uc等用户程序?
我来帮他解答
满意回答
2011-03-09 11:01
通过intent调用用户程序,需要你知道用户程序的动作,类别,数据。进行匹配。就可以调用了
追问
我知道,我会调用系统程序,用setcomponentname可以,但是开启用户程序怎么实现?如qq?
回答
别人的apk文件安装在你的模拟器上的程序,可以通过反编译工具查找到清单文件的包名和类名,如调用qq程序可以使用
Intent intent = new Intent();  
ComponentName componentName = 
                       new ComponentName("com.tencent.qq","com.tencent.qq.SplashActivity");  
intent.setComponent(componentName);  
startActivity(intent);
追问
终于遇到高手了,谢谢。那反编译工具具体是什么软件?。。。不用了谢谢,我找到了,其实我是想做一个语音开启程序的软件。但是比如我说qq,百度。google语音搜索出来有一大串东西,怎样才能找出我要的那个词呢?
       
       
       
       

如何在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序

(2012-04-26 14:50:34)
转载
标签:

it

分类: Android
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用。 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动:
view source
print ?
1 Intent intent = new Intent(Intent.ACTION_MAIN);
2 intent.addCategory(Intent.CATEGORY_LAUNCHER);           
3 ComponentName cn = new ComponentName(packageName, className);           
4 intent.setComponent(cn);
5 startActivity(intent);
但是更多的时候,我们一般都不知道应用程序的启动Activity的类名,而只知道包名,我们可以通过ResolveInfo类来取得启动Acitivty的类名。 下面是实现代码:
view source
print ?
01 private void openApp(String packageName) {
02 PackageInfo pi = getPackageManager().getPackageInfo(packageName, 0);
03   
04 Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
05 resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
06 resolveIntent.setPackage(pi.packageName);
07   
08 List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
09   
10 ResolveInfo ri = apps.iterator().next();
11 if (ri != null ) {
12 String packageName = ri.activityInfo.packageName;
13 String className = ri.activityInfo.name;
14   
15 Intent intent = new Intent(Intent.ACTION_MAIN);
16 intent.addCategory(Intent.CATEGORY_LAUNCHER);
17   
18 ComponentName cn = new ComponentName(packageName, className);
19   
20 intent.setComponent(cn);
21 startActivity(intent);
22 }
23 }

 

不過这个只是实现启动其它APK 应用的功能

被启动程序退出后,如何返回前一应用呢?纠结中

你可能感兴趣的:(android开发中如何开启用户安装的应用程序?)