zoukankan      html  css  js  c++  java
  • app启动其他应用

    因开发需要内包一个app,所以要启动一个app,这种操作 如果知道包名和类名 其实很简单 只需要将包名内嵌即可(一般情况 我们都可以解压或者反接拿到) 

    代码如下:

    Intent intent = new Intent(Intent.ACTION_MAIN);  // 必须要设置这两项 不然找不到  
    intent.addCategory(Intent.CATEGORY_LAUNCHER); 
    //设置包名 和类名 ComponentName mComponentName = new ComponentName("com.kukum.mynews", "com.kukum.android.SplashActivity"); intent.setComponent(mComponentName); startActivity(intent);

       但是如果确实不知道类名 ,则需要先根据包名获取包信息 然后拿到启动类 进行跳转 代码如下

            // 创建一个该包名相同的类别CATEGORY_LAUNCHER的Intent
    		Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
    		resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    		resolveIntent.setPackage("com.kukum.mynews");
    
    		// 通过getPackageManager()的queryIntentActivities方法遍历  
    		List<ResolveInfo> resolveinfoList = getPackageManager()
    				.queryIntentActivities(resolveIntent, 0);
    		// 因为有category 和action 关联 所以启动类只有一个 如果有的话 就是启动类
    		ResolveInfo resolveinfo = resolveinfoList.iterator().next();
    		if (resolveinfo != null) {
    			String className = resolveinfo.activityInfo.name;
    			Intent intent = new Intent(Intent.ACTION_MAIN);
    			intent.addCategory(Intent.CATEGORY_LAUNCHER);
    			ComponentName mComponentName = new ComponentName("com.kukum.mynews", className);
    			intent.setComponent(mComponentName);
    			startActivity(intent);
    		}
    

      搞定

      

  • 相关阅读:
    iphoneX适配
    是时候啃一啃http跟https了
    使用阿里巴巴矢量图标库的图标
    react使用高阶组件进行界面跳转
    js性能提升之函数的防抖和节流
    vuex的一些需要知道的点
    react项目之使用猪齿鱼框架---dataSet的基础使用
    从js下手提升代码性能
    vue+ts搭建工程
    学习笔记之TypeScript语法一
  • 原文地址:https://www.cnblogs.com/kukum/p/android20150718.html
Copyright © 2011-2022 走看看