其实,这本来是一件很简单的事情,但是我发现很多人问我这个问题,所以写篇小文章供参考。
系统提供了很多可以直接调用的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>
然后安装。安装完毕之后,你会发现,系统中找不到这个程序。别急,它确实安装在手机里面了,但是因为他不是main的,所以系统不会把他当做Application的入口程序。
而要想打开这个activity,只有知道它名字的人才可以。跟系统的intent一样使用。它的名字定义为"chroya.foo",所以,这里用这个字符串就可以调用它了:
Intent intent = new Intent("chroya.foo");
startActivity(intent);
我用刚才举的那个系统的intent说明,它的activity里面使用getIntent().getBundleExtra(SearchManager.QUERY)来接收传递进来的搜索字符串参数。而这个SearchManager.QUERY是关键字。如果要自己实现这种功能,只需要定义好关键字,然后从BundleExtra中取就行了。
分享到:
相关推荐
Android一个apk 启动另外一个apk文件
使用方法:安装HijackActivity.apk,使用 activity 界面劫持工具,在工具中指定要劫持的应用进程名称。如图所示,从列表中选择被测试的应用,点击 OK。打开应用,测试工具会尝试用自己的窗口覆盖被测的应用,如果...
安装多个apk,apk打包,一个apk安装多个apk,由于这个在网上太难找了,找到的也是有错误,没办法,尝试了很久终于出结果了,分享给大家吧,分要多点。
简单介绍多个icon进入同一个APK不同界面的的实现方式
当前Activity APK是一个可以显示当前Activity包名和类名的Android开发者小工具。
两个Android工程打包一个apk. 1.eclipse 2.mk
显示当前打开应用的包名和界面名称以及路径。需要打开悬浮窗权限,然后从悬浮窗看到具体的页面名字和路径
APK Helper是一个帮助高级玩家快速鉴定APK文件详细信息的小程序,这个apk信息查看器能够详细地获得安装包名、软件名称、APK证书、真实版本号、要求的手机版本、系统权限、以及证书和文件的MD5信息,保证你下载的是...
(5)CMD窗口中输入11,重新编译apk,你可以看到place-apk-here-for-modding文件夹里面出现了一个unsingedXXX.apk,没有签名软件还是不能安装的 (6)CMD窗口中输入12,apk签名,你可以看到place-apk-here-for-...
android测试键值apk(一个测试键值的apk,将apk安装到系统,操作键盘或者遥控器,会把相应键值打印出来)
使用命令行 1、在Android SDK的tools文件夹下,找到zipalign.exe文件。 2、把你要优化的apk复制到你解压出来的tools文件夹下。 开始->运行->CMD调出命令行窗口 命令行下输入 你解压的文件夹路径\zipalign -v 4 你要...
NULL 博文链接:https://wangleyiang.iteye.com/blog/1791947
apk toolapk toolapk tool
而别人收到你发送的apk文件后,微信会在“.apk”的后面自动加上一个“.1”,这样一来它就不算是一个正常的apk格式了。 因此也无法直接安装安卓应用了,一般的小白碰到这种问题大概率会选择放弃用微信来传输apk文件。...
这个工具前后用了好多天的时间查阅资料并不断修改才完成。本工具可以用于读取apk包的大量信息,无其他依赖。可以直接通过命令行运行,也可以当作架包使用。 命令行方式使用举例: 获取AndroidManifest.xml文件中定义...
获取设备中Apk的包名及启动Activity
iBiliPlayer-html5_activity_game_20221205_wzryfyt_wzry_yhjh.apk
package activity 工具~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
apkhelper_3.0.2014.1126安卓apk检测工具