Android---启动第三方应用
2016-04-27 21:35
411 查看
一:程序中调用其它程序,代码如下:
在代码中”com.xxxx” 是要打开的程序包名,” com.xxx.xx”是要打开的Activity!
二:但是更多的时候,我们一般都不知道应用程序的启动Activity的类名,而只知道包名,我们可以通过ResolveInfo类来取得启动Acitivty的类名!
下面是实现代码:
针对于:
这两行代码,我们可以从AndroidMinifest.XML里面就可以看出它的作用:
{ Intent intent = new Intent(Intent.ACTION_MAIN); ComponentName componentName = new ComponentName("com.xxxx", "com.xxx.xx"); intent.setComponent(componentName); startActivity(intent); }
在代码中”com.xxxx” 是要打开的程序包名,” com.xxx.xx”是要打开的Activity!
二:但是更多的时候,我们一般都不知道应用程序的启动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 =getPackageManager() .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); } }
针对于:
Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER);
这两行代码,我们可以从AndroidMinifest.XML里面就可以看出它的作用:
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
注意点:所有要打开的第三方应用的Activity的exported必须设置为True;
相关文章推荐
- 初学android开发--动画效果实现
- Ubuntu搭建Android-Studio环境
- AndroidManifest中的android:labe=""
- android textView加圆环 只需要加个背景就行了
- android 布局relativeLayout实现底部标签
- Android二维码生成与扫描
- Android颜色表
- android 拍照 相册 剪切以及显示功能
- Android DownLoadManager的使用
- Android中的Service与进程间通信(IPC)详解
- android studio学习----通过github的URL怎么导入新的工程
- Android中实体类的使用
- Android常用工具类
- Android ListView通用适配器升级支持多种布局
- Android :ViewPager+Fragment 实现顶部导航滑动效果
- Android Launcher拖拽原理分析
- Android应用启动界面分析(Starting Window)
- 自定义View
- android studio学习----Failed to resolve: com.android.support:design:22.1.1
- Android Handler机制