系统提供了很多可以直接调用的Activity,通过指定的Intent就可以调用,比如打开搜索的:
Java代码
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString")
startActivity(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命名,
Xml代码
<intent-filter>
<action android:name="chroya.foo"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="chroya.foo"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
然后安装。安装完毕之后,你会发现,系统中找不到这个程序。别急,它确实安装在手机里面了,但是因为他不是main的,所以系统不会把他当做Application的入口程序。
而要想打开这个activity,只有知道它名字的人才可以。跟系统的intent一样使用。它的名字定义为"chroya.foo",所以,这里用这个字符串就可以调用它了:
Java代码
Intent intent = new Intent("chroya.foo");
startActivity(intent);
Intent intent = new Intent("chroya.foo");
startActivity(intent);
我用刚才举的那个系统的intent说明,它的activity里面使用getIntent().getBundleExtra(SearchManager.QUERY)来接收传递进来的搜索字符串参数。而这个SearchManager.QUERY是关键字。如果要自己实现这种功能,只需要定义好关键字,然后从BundleExtra中取就行了。
分享到:
相关推荐
以下是一个关于如何使用HttpClient调用JavaEye API的基本步骤: 1. **导入必要的库**:首先,你需要在项目中导入HttpClient相关的依赖库,通常包括httpclient、httpcore和httpmime等。如果你使用的是Maven或Gradle...
Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mhtJsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht
使用 Eclipse 平台进行调试 - Java - JavaEye论坛
MyEclipse快捷键与插件大全 - 入门技术 - New - JavaEye(1)
JSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mhtJSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mht
- 方法重载(Overloading)是指在同一个类中定义多个同名但参数列表不同的方法。方法覆盖(Overriding)是指在子类中重新定义父类中的方法,子类方法的签名必须与父类完全相同。重载关注的是方法签名的不同,而覆盖...
JDOM处理XML快速上手 - Web UI Design - JavaEye技术网站.mht
- JEECMS是一个基于Java的企业级内容管理系统,版本v1.1和v2.0的发布,展示了开源社区对内容管理系统的贡献,并提供了更多的功能如评论和投票。 11. **正则表达式实现的讨论** - Sun的Regexpr实现可能成为讨论的...
Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站 希望对爱好有帮助!!
让想成为一个顶级程序员,学会调试异常是必不可少的。Eclipse调试常用技巧 -为你解决java程序中的出现的异常。
JavaEye新闻月刊2009年3月第13期内容...JavaEye新闻月刊不仅为读者提供了一个了解软件开发行业动态和趋势的平台,而且也反映了当时技术社区内部成员对于技术发展的看法和预测,对于软件开发从业者具有较高的参考价值。
Struts 是一个 MVC(Model-View-Controller)架构的 Web 框架,Spring 提供了一个全面的后端服务管理平台,而 Hibernate 则是用于对象关系映射(ORM)的框架,简化了数据库操作。下面将详细介绍这三个框架的基本概念...
javaeye被黑 大家看看
NetBeans Ruby IDE 是一个强大的集成开发环境,专门为Ruby on Rails (RoR) 开发而设计。它提供了丰富的功能和快捷键,极大地提高了开发效率。 **2. 下载与安装** - **下载地址**:...
2. 开源表达式解析器IK-Expression:这是一个用于解析Java表达式的开源项目,可以帮助开发者在程序中方便地处理复杂的逻辑计算。 3. jbpm3与jbpm4实现对比:jbpm是一款流行的工作流管理系统,对比两个版本的实现,...
JavaEye Client SourceCode是一个开源项目,专为Android平台设计,提供了JavaEYE的客户端实现。这个项目的源代码为我们提供了一个深入了解Android应用开发以及Java编程在移动设备上的实践的宝贵资源。接下来,我们将...
9. **JDK 7的MethodHandle**:深入解释了MethodHandle的概念,它是Java 7引入的一个高级特性,允许更灵活的动态方法调用,并与.NET的委托进行了对比。 这些话题展示了2009年Java社区的热点讨论,涵盖了从基础到进阶...
JavaEye是一个基于Android平台的应用程序,它展示了在移动设备上构建功能丰富的软件的可能性。这个小应用旨在为开发者提供灵感和指导,帮助他们更好地理解和实践Android应用开发。让我们深入探讨一下这个应用背后的...