Android编程实现在一个程序中启动另一个程序的方法
本文实例讲述了Android编程实现在一个程序中启动另一个程序的方法。分享给大家供大家参考,具体如下:
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用。
一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动:
Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(packageName, className); intent.setComponent(cn); startActivity(intent);
但是更多的时候,我们一般都不知道应用程序的启动Activity的类名,而只知道包名,我们可以通过ResolveInfo类来取得启动Acitivty的类名。
下面是实现代码:
private void openApp(String packageName) { PackageInfo pi = getPackageManager().getPackageInfo(packageName, 0); Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null); resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER); resolveIntent.setPackage(pi.packageName); List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0); ResolveInfo ri = apps.iterator().next(); if (ri != null ) { String packageName = ri.activityInfo.packageName; String className = ri.activityInfo.name; Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(packageName, className); intent.setComponent(cn); startActivity(intent); } }
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关文章
Android AlertDialog实现分享对话框/退出对话框/下载对话框
这篇文章主要介绍了Android AlertDialog实现分享对话框/退出对话框/下载对话框的相关资料,需要的朋友可以参考下2016-04-04Android Springboot 实现SSE通信案例详解
SSE是一种用于实现服务器主动向客户端推送数据的技术,它基于 HTTP 协议,利用了其长连接特性,在客户端与服务器之间建立一条持久化连接,并通过这条连接实现服务器向客户端的实时数据推送,这篇文章主要介绍了Android Springboot 实现SSE通信案例,需要的朋友可以参考下2024-07-07Android中使用CircleImageView和Cardview制作圆形头像的方法
这篇文章主要介绍了Android中使用CircleImageView和Cardview制作圆形头像的方法,简单介绍了CircleImageView和Cardview的使用,需要的朋友可以参考下2016-09-09Android 判断是否是是全汉字、全字母、全数字、数字和字母等(代码)
这篇文章主要介绍了Android 判断是否是是全汉字、全字母、全数字、数字和字母等的实例代码,需要的朋友可以参考下2016-12-12ProgressBar、ProgessDialog-用法(详解)
下面小编就为大家带来一篇ProgressBar、ProgessDialog-用法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-06-06
最新评论