关于在一个应用里面启动另一个应用程序

     在开发中有时候要从自己的程序里面启动另一个程序,一般我们用

    Intent intent = new Intent();   
    intent.setComponent(new ComponentName("org.hy","org.hy.Activity"));   
    intent.setAction(Intent.ACTION_VIEW);   
    startActivity(intent); 

org.yh则为报名,org.Activity则为入口activity,但在实际开发中我们并不知道其他的程序的包名以及入口activity,那我们便可这样实现

1.首先遍历手机内所有的应用程序的报名

  1. for (PackageInfo pi : packs) {  
  2.             HashMap<String, Object> map = new HashMap<String, Object>();  
  3.             map.put("icon", pi.applicationInfo.loadIcon(pm));  
  4.             // 图标  
  5.             map.put("appName", pi.applicationInfo.loadLabel(pm));  
  6.             // 应用名  
  7.             map.put("packageName", pi.packageName);  
  8.             // 包名  
  9.             items.add(map);  
  10.             // 循环读取存到HashMap,再增加到ArrayList.一个HashMap就是一项  
  11.         }  
2.再用intent启动即可
  1.                 Intent i = pm.getLaunchIntentForPackage(packageName);  
  2.                 //如果该程序不可启动(像系统自带的包,有很多是没有入口的)会返回NULL  
  3.                 if (i != null)  
  4.                     startActivity(i);  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值