(转)从android一个apk中启动第三方apk应用
从android一个apk中启动第三方apk应用
我们在开发中,经常遇到遇到在一个apk中要去运行另外一个apk,就像我们windows一样,搞一个快捷方式一样,那怎么实现呢?
问题的核心点在于我们要拿到第三方apk的package名称跟class名称,这两个至关重要!比如笔者做测试用的qq apk,package名称是com.tencent.pad.qq,class名称是com.tencent.pad.qq.login.QQLoginActivity。从一个apk启动到另外一个apk,当然也是通过发送intent了。下面介绍一下几个简单步骤:
1、 为了直观还是建立一个图标比较好。在android里有ImageButton控件可以使用。在XML里定义如下:
- <ImageButton android:id="@+id/StartQQ"
- android:layout_width="85dip"
- android:layout_height="54dip"
- android:layout_marginTop="20dip" />
2、 注册消息处理函数。也就是你点击该图标的时候,要做什么响应。注册代码如下:
- private ImageButton mStartQQButton;
- mStartQQButton = (ImageButton) findViewById(R.id.StartQQ);
- mStartQQButton.setOnClickListener(mStartQQListener);
3、 准备intent,发送intent。代码如下:
- private View.OnClickListener mStartQQListener = new View.OnClickListener() {
- public void onClick(View v) {
- if (localService == null) return;
- localService.reqMusicExit();
- Intent mIntent = new Intent( );
- ComponentName comp = new ComponentName("com.tencent.pad.qq", "com.tencent.pad.qq.login.QQLoginActivity");
- mIntent.setComponent(comp);
- mIntent.setAction("android.intent.action.VIEW");
- startActivity(mIntent);
- finish();
- }
- };
这只是一个实例,掌握了这种方法,我们就可以开发出类似windows快捷图标栏,就很可以随心所欲,开发出客户喜欢的产品。 笔者顺便提一句,这个做法一定要在有代码的apk应用中去定制,比如在launcher中,还是自己开发的apk中。
(转)从android一个apk中启动第三方apk应用的更多相关文章
- 在android应用程序中启动其他apk程序
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名 ...
- Android动态部署五:怎样从插件apk中启动Service
转载请注明出处:http://blog.csdn.net/ximsfei/article/details/51072332 github地址:https://github.com/ximsfei/Dy ...
- android在ubuntu中编译为.apk资料
android在ubuntu中编译为.apk文件 今天我在ubuntu环境之下将android程序编译为.apk文件,特将其过程写下来: 1. 在windows环境下使用MyEclipse编辑好and ...
- Android 在一个程序中启动另一个程序
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字 ...
- Android 在一个程序中启动另一个程序(包名,或者类名)
http://hi.baidu.com/xiaofanqing/item/6fd724f7c5bb6dce531c26b7 Android 开发有时需要在一个应用中启动另一个应用,比如Launcher ...
- apk中添加第三方so文件
如果你是把so放在libs/armeabi/下,eclipse中so会自动打包进去,然后使用System.load("data/data/xxx.xxx.xxx/lib/xx.so" ...
- init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序.提供了以下的功能:设备管理.解析启动脚本.执行基本的功能.启动各种服务.代码的路径:system/core/init,编译 ...
- android 在一个应用中启动另一个应用
在程序开发过程当中,常遇到需要启动另一个应用程序的情况,比如在点击软件的一个按钮可以打开地图软件. 如果既有包名又有主类的名字,那就好 办了, 直接像下面就行: [html] Intent inte ...
- Android在一个app中启动另一个App
Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); Compon ...
随机推荐
- IE开发人员工具手册
The DOM Explorer tool (CTRL + 1) The The DOM Explorer tool shows the structure of your webpage as it ...
- 关于Node.js的__dirname,__filename,process.cwd(),./文件路径的一些坑
探索 计算机不会欺骗人,一切按照规则执行,说找不到这个文件,那肯定就是真的找不到,至于为什么找不到,那就是因为我们理解有偏差,我最初理解的'./'是当前执行js文件所在的文件夹的绝对路径,然后Node ...
- 比较好的SQL
DECLARE @Data NVARCHAR(30);DECLARE @Data2 NVARCHAR(30);SET @Data = @DataDate;SET @Data = CONVERT(CHA ...
- WildcardMatching和Regex,通配符匹配和正则表达式匹配
WildcardMatching:通配符匹配 算法分析: 1. 二个指针i, j分别指向字符串.匹配公式. 2. 如果匹配,直接2个指针一起前进. 3. 如果匹配公式是*,在字符串中依次匹配即可. 注 ...
- Codeforces Round #315 (Div. 2) C. Primes or Palindromes? 暴力
C. Primes or Palindromes? time limit per test 3 seconds memory limit per test 256 megabytes input st ...
- Amazon SES介绍 - SES发送邮件的过程
Amazon SES, 全称Amazon Simple Email Service,即Amazon简单邮件服务,它是Amazon提供的一款供开发人员或公司企业用来处理邮件相关业务的服务,也就是说, ...
- 开发中Dialog多弹窗管理
随着项目的不断迭代,加上产品经理大法(这里加一个弹窗提示,这里加一个引导….)各种弹窗在应用启动时候需要展示, 然而它们出现的时机还有可能重叠.我勒个擦...有没有一种优(tou)雅(lan)的方式来 ...
- 2015 Syrian Private Universities Collegiate Programming Contest
A. Window B. Paper Game Des:给你一个矩形集合,一开始只有一个W*H的矩形.每次可以选一个矩形,切成两个并加入集合,长和宽必须是正整数.不能操作者输,求先手赢还是输.(1 ≤ ...
- spring3: 基于Schema的AOP
6.3 基于Schema的AOP 基于Schema的AOP从Spring2.0之后通过“aop”命名空间来定义切面.切入点及声明通知. 在Spring配置文件中,所以AOP相关定义必须放在<a ...
- 三十六 Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码
scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开源模块 scrapy-redis的依赖 Python 2.7, 3.4 or 3.5,Python支持版本 Redis & ...