Android启动另一个应用
来源:互联网 发布:淘宝怎么买医疗器械 编辑:程序博客网 时间:2024/05/16 18:56
1、知道了另一个应用的包名和MainActivity的名字:
Intent intent = new Intent();ComponentName componentName = new ComponentName(packageName,className);intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setComponent(componentName);startActivity(intent);
2、不知道应用程序启动的Activity的类名,只知道包名,可以通过ResolveInfo类来获取启动的Acitivty的类名:
private void openApp(String packageName) { PackageInfo pi = null; try { pi = getPackageManager().getPackageInfo(packageName, 0); } catch (NameNotFoundException e) { e.printStackTrace(); } Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null); resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER); try { resolveIntent.setPackage(pi.packageName); } catch (NullPointerException e) { // TODO: 未获取到相应包名 } List<ResolveInfo> apps = getPackageManager().queryIntentActivities( resolveIntent, 0); ResolveInfo ri = apps.iterator().next(); if (ri != null) { String appPackageName = ri.activityInfo.packageName; String className = ri.activityInfo.name; Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(appPackageName, className); intent.setComponent(cn); startActivity(intent); } }
1 0
- Android启动另一个应用
- Android启动另一个应用
- Android应用启动另一个应用
- Android中通过intent启动另一个应用
- android 在一个应用中启动另一个应用
- Android 一个应用启动另一个应用的说明
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用
- 在android应用中启动另一个非官方的应用
- android 在一个应用中启动另一个应用
- android 在一个应用中启动另一个应用?
- android 在一个应用中启动另一个应用
- Android在一个应用中启动另一个应用
- ThreadLocal浅析
- H.264
- SVPullToRefresh问题解决 同时进行上拉和下拉刷新
- 图像算法---头发检测算法研究
- cocos2dx 3.x 支持自定义的渲染命令
- Android启动另一个应用
- matlab的.dat文件读取
- 月薪3万的程序员都避开了哪些坑
- MySQL中重复索引和重复外键清理
- sql中多条重复数据只更新其中一条
- Carthage使用(解决部分Swift运行时的问题)
- 使用xdebug分析thinkphp框架函数调用图
- 数据结构 — 3.模式匹配
- LLDB学习笔记