启动另外一个APK的四种方式

标签: apk | 发表时间:2014-02-21 19:02 | 作者:zwfandroid
出处:http://blog.csdn.net

方式一:启动另外一个应用程序指定的Activity(可以是主Activity,也可以是任意一个Activity

            ComponentName componetName = new ComponentName(  
                      //这个是另外一个应用程序的包名  
                      "package",  
                       //这个是要启动的Activity  
                       "package.**Activity");  
                Intent intent = new Intent();  
                intent.setComponent(componetName);  
                startActivity(intent);  

方式二:启动另外一个程序的Activity,并把参数传过去!

            ComponentName componetName = new ComponentName(  
                      //这个是另外一个应用程序的包名  
                      "package",  
                       //这个是要启动的Activity  
                       "package.**Activity");  
             Intent intent = new Intent();  

  1.   Bundle bundle = new Bundle();  
  1.        
  1.   bundle.putString("resUrl", resurl);  
  1.        
  1.   bundle.putSerializable("picUrlList", picurllist);  
  1.         
  1.     intent.putExtras(bundle);  
  1.        

             intent.setComponent(componetName);  
             startActivity(intent); 

方式三:在只知道包名的情况下直接启动另外一个应用程序 

 Intent intent = getPackageManager().getLaunchIntentForPackage(

                        //这个是另外一个应用程序的包名  

                        "com.sina.weibo");   
startActivity(intent); 

方式四:启动系统自带的应用程序

系统提供了很多可以直接调用的Activity,通过指定的Intent就可以调用,比如打开搜索的:

 Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);  
 intent.putExtra(SearchManager.QUERY,"searchString")  
 startActivity(intent);  

Intent.ACTION_WEB_SEARCH是一个字符串,是“搜索”这个Activity的标识,extra是传给这个activity的一些数据。发送出这个intent之后,系统根据action字符串Intent.ACTION_WEB_SEARCH知道了是要调用哪个activity,如果有重名,会弹出一个选择对话框。然后打开此activity,实现想要做的事情。
那么,我们自己怎么来实现呢。
首先,写一个activity,在AndroidManifest.xml里面的intent-filter中,给这个activity命名:

 <intent-filter>  
         <action android:name="chroya.foo"/>  
         <category android:name="android.intent.category.DEFAULT"/>  
 </intent-filter>  

备注:用刚才举的那个系统的intent说明,它的activity里面使用 getIntent().getBundleExtra(SearchManager.QUERY)来接收传递进来的搜索字符串参数。而这个 SearchManager.QUERY是关键字。如果要自己实现这种功能,只需要定义好关键字,然后从BundleExtra中取就行了。





作者:zwfandroid 发表于2014-2-21 11:02:40 原文链接
阅读:59 评论:0 查看评论

相关 [apk] 推荐:

java解析APK

- - Linux - 操作系统 - ITeye博客
1、结合安卓提供apktool工具,用java执行cmd解析命令获取apk信息. 2、利用相关jar包里的集成方法解析apk. 这里只给出第二种方法,因为第一种方法在linux服务器下会出现不在控制范围之内的结果. // 将解压文件对象转列举对象. // 获得名为AndroidManifest.xml的文件.

[译] 使用 APK Analyzer 分析你的 APK

- - IT瘾-dev
本文来自“天天P图攻城狮”公众号(ttpic_dev). 本文是对 《Analyze Your Build with APK Analyzer》 的翻译. Android Studio 2.2包含了APK Analyzer,通过它我们能够直观地看到APK的组成. 使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小.

android apk反编译

- - CSDN博客推荐文章
3.查看Jar包的GUI工具. apk文件其实就是一个MIME为zip的压缩包,可以用winrar软件打开看到里面的文件结构. 解压缩后找到里面的classes.dex文件,classes.dex文件就是java文件编译再通过Dalvik须立即提供的dx打包工具打包而成的,接下来就用2个工具来逆向导出java源文件.

Android APK反编译详解(附图)

- jason - iGFW
一、反编译Apk得到Java源代码. 首先要下载两个工具:dex2jar和JD-GUI. 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码. 首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;解压下载的 dex2jar,将classes.dex复制到dex2jar.bat所在目录.

使用apktool解包和打包apk

- - CSDN博客推荐文章
使用apktool解包和打包apk. 使用apktool解包要植入代码的apk(以下称为A),. 使用apktool解包包含待植入代码的apk(以下称为B). -将B的AndroidManifest.xml中相应的权限和各组件声明信息复制到A中. -把B的相应的smali文件复制到A中. -把B的相应的布局文件复制到A中.

APK反编译去广告大揭秘

- - 移动开发 - ITeye博客
1.下载  apktool . 下载地址: https://code.google.com/p/android-apktool/downloads/list. 2.通过apktool 反编译apk. 命令行中输入以下命令:apktool.bat  d  -f   aaa.apk(apk路径) 反编译APK文件.

APK文件分析工具:AppMon

- - FreeBuf.COM | 关注黑客与极客
对手机恶意软件研究人员来说,有很多APP行为分析工具可以选择,在这里,我要向大家推荐的是AppMon,它可以通过二进制指令获取app程序运行记录,并显示调用函数和相关参数. AppMon使用了多平台动态框架环境Frida,Frida是一款基于python + javascript 的hook框架,适应android\ios\linux\win\osx等平台的脚本交互环境.

HP TouchPad 灵魂不死,Android 附身且带 APK 应用安装

- 品味视界 - Engadget 中国版
惠普的 TouchPad 已经 Android 附身好几次了,不过这次来的有点不同,开发者来自中国,同时是在 WebOS 上调用 Android 系统了. 整个系统通过 .ipk 文件完成安装,整个操控还算流畅,虽然有时候切换主屏和应用程序(比如 Youtube 视频)会感到停顿. 安装应用需下载想要的 apk 文件,放到 U 盘的 apks 目录,进入系统之后就可以发现并安装.

教你用电脑从 Google Play 下载 Android 程序 apk 文件

- - 小众软件 - Appinn
APK Downloader 是一款帮助你用电脑从 Google Play (原 Android Market ) 下载 Android 应用程序 apk 文件的 Chrome 扩展. Ivan 同学在 Group 讨论组 里推荐了一个用电脑从 Google Play 里下载 Android 程序的方法,可以直接下载到 apk 文件.

使用ant自动编译、打包生成apk文件

- - CSDN博客移动开发推荐文章
    上次使用命令行生成apk文件 《Android 命令行编译、打包生成apk文件》,学习命令行生成的目的是为了编写ant打下基础. 下载ant包,配置环境变量. 二、ant编译Android项目. Java代码生成class文件. aapt命令, 生成R文件. -f 如果编译生成的文件已经存在,强制覆盖.