热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Android实现软件列表的点击启动另外一个程序功能【附demo源码下载】

这篇文章主要介绍了Android实现软件列表的点击启动另外一个程序功能,涉及Android针对应用程序的读取、加载、启动等操作相关技巧,需要的朋友可以参考下

本文实例讲述了Android实现软件列表的点击启动另外一个程序功能。分享给大家供大家参考,具体如下:

目前面世的许多软件中有这么一个功能:设备中安装了哪些软件,他们会以一个软件列表清单的形式向用户展示出来。

今天我们就来实现这一功能:

运行环境: motorola defy+ 系统2.3.6

主要 API : PackageInfo,PackageManager,LayoutInflater,ApplicationInfo

PackageManger类,它的主要职责是管理应用程序包。 通过它,我们就可以获取应用程序信息

通过PackageManager获取应用程序相关信息,再通过listView显示出相应信息。

直接上主要代码了

public class AppListView extends LinearLayout implements OnItemClickListener{
  private final static String TAG = "AppListView";
  private ListView mListView;
  private TextView mTvTitle;
  private List mAppList;
  private Context mContext;
  private LayoutInflater mInflater;
  private PackageManager mPacManager;
  public AppListView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);
  }
  public AppListView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init(context);
  }
  public AppListView(Context context)
  {
    super(context);
    init(context);
  }
  private void init(Context c)
  {
    mCOntext= c;
    mInflater = (LayoutInflater)c.getSystemService
         (Context.LAYOUT_INFLATER_SERVICE);
    this.addView(mInflater.inflate(R.layout.activity_main,null,false));
    mListView = (ListView)this.findViewById(R.id.listView);
    mTvTitle  = (TextView)this.findViewById(R.id.title);
    loadAppData();
    mListView.setAdapter(new MyAdapter(c));
    mListView.setOnItemClickListener(this);
    Log.d(TAG, "一共"+mAppList.size());
  }
  // 加载应用软件数据 软件名称,包名,对应的图标等等
  private void loadAppData()
  {
    if(mAppList != null){
      mAppList.clear();
    }else{
      mAppList = new ArrayList();
    }
    mPacManager = mContext.getPackageManager();
    List packages = mPacManager.getInstalledPackages(0);
    for(int i=0; i arg0, View arg1, int arg2, long arg3) {
    Toast.makeText(mContext, arg2+"", Toast.LENGTH_SHORT).show();
    // 获取本次item的包名
    String packName = mAppList.get(arg2).packageName;
    // 启动此程序
    Intent intent = mPacManager.getLaunchIntentForPackage(packName);
    mContext.startActivity(intent);
  }
  // 软件载体
  public class AppInfo {
    // 软件名称
    public String appName="";
    // 软件包名
    public String packageName="";
    // 软件图标
    public Drawable appIcon=null;
  }
}

public abstract Intent getLaunchIntentForPackage (String packageName)

这个方法通过包名返回一个Intent , 然后通过StartActivity(Intent)启动应用程序

完整实例代码点击此处本站下载

下面是程序运行的效果图:

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android视图View技巧总结》、《Android文件操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》及《Android资源操作技巧汇总》

希望本文所述对大家Android程序设计有所帮助。


推荐阅读
  • 本文介绍了产品销售管理系统的设计与实现,该系统旨在模拟企业产品销售流程,涵盖产品、客户及发票等关键管理对象,支持销售记录的创建与查询,并提供详细的统计数据。 ... [详细]
  • SQL Server中查询表结构与视图的方法,便捷高效
    本文介绍如何在SQL Server中轻松查询表结构和视图,提供简洁高效的SQL语句,特别适用于开发人员。 ... [详细]
  • Hibernate入门指南:单表数据库操作详解
    本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 在一个大型的应用系统中,往往需要多个进程相互协作,进程间通信(IPC,InterProcessCommunication)就显得比较重要了。在Linux系统中,有很多种IPC机制, ... [详细]
  • 解决 IIS 无法访问 .pnts 文件的问题
    本文详细介绍了在使用 IIS 服务器时遇到的 .pnts 文件无法访问的问题及其解决方案。通过正确配置 MIME 类型,可以轻松解决这一常见问题。 ... [详细]
  • 如何清空Layui树结构
    本文将详细介绍如何使用Layui框架清空树形结构,包括创建树、添加节点以及实现清空功能的具体步骤。通过本文,您将能够掌握Layui树的管理技巧。 ... [详细]
  • 实践指南:利用Jenkins与JMeter实现自动化测试报告通知
    本文详细介绍了如何结合Jenkins和JMeter工具,通过自定义脚本向用户发送测试报告的通知。这不仅提高了开发团队的工作效率,也确保了信息的及时传递。 ... [详细]
  • 解决MySQL Administrator 登录失败问题
    本文提供了解决在使用MySQL Administrator时遇到的登录错误的方法,包括启动变量和服务部分禁用的问题。同时,文章还介绍了通过安全配置模式来解决问题的具体步骤。 ... [详细]
  • Oracle中打开10046Trace的各种方法10046trace的跟踪等级10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracl ... [详细]
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • 本文详细介绍了如何在不同操作系统中设置 Node.js 的环境变量,包括通过命令行、npm 脚本以及直接在代码中设置的方法。 ... [详细]
author-avatar
once
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有