通过包名打开另外一个应用程序
来源:互联网 发布:软件变更控制计划 编辑:程序博客网 时间:2024/04/29 06:32
应用场景:对于我们自己开发的两个应用程序,一个应用程序的包名为 aa.bb.cc,软件名叫a,它的入口Activity为 aaActivity(入口activity就是在AndroidManifest.xml中标签——<action android:name="android.intent.action.MAIN" />所在的activity,说白了,就是打开应用程序,第一个显示的activity),另一个应用程序的包名为 xx.yy.zz,软件名叫x,它的入口Activity为 xxActivity。
网上的通用做法如下(这里我假设a中有一个Button,这个Button的onclick事件中的代码如下):
ComponentName componentName=new ComponentName("xx.yy.zz","xx.yy.zz.xxActivity");
Intent intent=new Intent();
intent.setComponent(componentName);
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);
这种方法对于调用我们自己写的应用程序没有问题,但是如果你想调用别人的应用程序(例如:你写了一个游戏管理的软件,需要管理很多游戏,但是游戏不是你写的,你是得不到入口activity的,你怎么办?),解决办法如下:
通过PackageManager可以得到PackageInfo,通过PackageInfo就可以得到你手机上安装的应用的包名(这个很简单,网上有的是,不赘述)。关键是下一步,代码如下(也是a应用中Button的onclick中的代码):
PackageManager packageManager = Start_RemoveSoftActivity.this.getPackageManager();
Intent intent=new Intent();
try {
intent =packageManager.getLaunchIntentForPackage("要调用应用的包名");
} catch (NameNotFoundException e) {
Log.i(TAG, e.toString());
}
startActivity(intent);
其中,"要调用应用的包名"为通过PackageInfo得到的想要启动的应用的包名。这样,我们就可以不知道别人应用源码的情况下,也可以调用别人的应用程序。
网上的通用做法如下(这里我假设a中有一个Button,这个Button的onclick事件中的代码如下):
ComponentName componentName=new ComponentName("xx.yy.zz","xx.yy.zz.xxActivity");
Intent intent=new Intent();
intent.setComponent(componentName);
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);
这种方法对于调用我们自己写的应用程序没有问题,但是如果你想调用别人的应用程序(例如:你写了一个游戏管理的软件,需要管理很多游戏,但是游戏不是你写的,你是得不到入口activity的,你怎么办?),解决办法如下:
通过PackageManager可以得到PackageInfo,通过PackageInfo就可以得到你手机上安装的应用的包名(这个很简单,网上有的是,不赘述)。关键是下一步,代码如下(也是a应用中Button的onclick中的代码):
PackageManager packageManager = Start_RemoveSoftActivity.this.getPackageManager();
Intent intent=new Intent();
try {
intent =packageManager.getLaunchIntentForPackage("要调用应用的包名");
} catch (NameNotFoundException e) {
Log.i(TAG, e.toString());
}
startActivity(intent);
其中,"要调用应用的包名"为通过PackageInfo得到的想要启动的应用的包名。这样,我们就可以不知道别人应用源码的情况下,也可以调用别人的应用程序。
- 通过包名打开另外一个应用程序
- 通过包名打开另外一个应用程序
- 通过包名打开另外一个应用程序
- android 通过包名 启动另外一个android应用程序
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- Android 编程日记 如何通过包名打开一个应用程序
- 在一个应用程序里打开另一个应用程序(通过包名)
- android4.4 通过包名打开第三方应用程序
- 通过包名打开apk
- 使用openURL打开另外一个应用程序
- JSP通过按钮打开另外一个页面
- Android - 在一个应用程序中启动另外一个已经安装的应用程序或系统程序(前提是要知道该应用程序的主activity和包名)
- 通过包名获取应用程序的名称
- Android 通过包名打开其他APP
- Android通过包名打开app
- 通过包名打开主Activity
- 怎么破解电脑系统管理员密码?黑客用cmd批处理命令
- java Calendar DateFormat 时间 日期 月份 格式化 第一天 最后一天
- Access,Update失败的BUG
- 目标提取算法,三帧差法的技巧
- ios应用的生命周期
- 通过包名打开另外一个应用程序
- Linux常用性能检测命令
- 雨季开始了
- 检测linux IO系统性能
- 《洛奇》6部全集高清打包,要的拿去
- 在MyEclipse中安装Freemarker插件
- Lua游戏开发实践指南
- 3.2.3 编译mini6410版本的 qtopia2.2.0
- 查询数据库表