android开发之Intent(1)

Intent可以用于启动组件,并且携带数据,充当组件间通信的媒介。

Intent对象大致包含Component、Action、Category、Data、Type、Extra和Flag7种属性。

以下将分别说说。

Component

Component可以通过指定包名和类名来启动特定组件。因此,明确指定Component属性的Intent也称为显式Intent。例子如下:

// 创建一个ComponentName对象
ComponentName comp = new ComponentName(FromActivity.this,
        ToActivity.class);
Intent intent = new Intent();
// 为Intent设置Component属性
intent.setComponent(comp);
startActivity(intent);

由于包名与Context是一一对应的,因此,ComponentName中也提供了传入Context参数的构造方法。

Action

如下,设置Action为“xxx”,如果某个Activity在AndroidManifest.xml中包含形如代码2中的代码,则可以利用代码1启动该activity。每个Intent只可以指定一个Action。另外,如果在没有设置Category时,会默认使用”android.intent.category.DEFAULT”,因此在代码2中需要加入<category android:name="android.intent.category.DEFAULT" />

代码1

// 创建Intent对象
Intent intent = new Intent();
// 为Intent设置Action属性(属性值就是一个普通字符串)
intent.setAction("xxx");
startActivity(intent);

代码2

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

Category

使用方法与Action类似,使用intent.addCategory(“xxx”),然后在AndroidManifest.xmlActivity的注册中加入<category android:name=”xxx”>即可。与Action不同的是,一个Intent可以包含多个Category值,而这个Intent只能启动在注册时加入了所有该Intent含有的Category值的Activity。

时间: 2024-12-28 09:20:18

android开发之Intent(1)的相关文章

Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面

现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下.1.跳转到拨号界面,代码如下: 1)直接拨打 Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); startActivity(intentPhone); 2)跳转到拨号界面 Intent intent = newIntent(Intent.ACTION_DIAL,Uri.pars

android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, 结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出, 而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity 说的有点绕,如果是遇到此类问题的肯定能懂,没遇到

android开发之Intent(2)

Data.Type      Data属性通过用于向Action属性提供操作的数据.Data属性接受一个Uri(格式形如:scheme://host:port/path)对象.      Type属性则是用于指定Data所指定Uri对应的MIME类型,MIME的格式形如:abx/xyz      声明Data与Type属性是通过<data-/>元素来设置,格式如下: <data android:mimeType="" android:scheme="&quo

Android开发之Intent.Action

转载自 http://www.cnblogs.com/hanyonglu/archive/2012/03/26/2417278.html 1 Intent.ACTION_MAIN String: android.intent.action.MAIN 标识Activity为一个程序的开始.比较常用. Input:nothing Output:nothing <activity android:name=".Main" android:label="@string/app_

Android开发之intent

Intent意为:意图.简单的理解就是用来从一个Activity/Service跳转到另一个Activity/Service中,并可以携带数据,也可以在这个程序调用别的程序.这样我们虽然不懂如何结息条形码,却可以通过开放的android平台,在我们的程序调用专家写好的程序来实现功能. Intent的用法: (1)从MainActivity跳转到NewActivity Intent intent=new Intent(MainActivity,this,NewActivity.this); sta

android开发之MediaPlayer+Service MP3播放器

http://blog.csdn.net/zzy916853616/article/details/6450753 [java] view plaincopy import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.apps.service.Player

Android开发之WebView详解

概述: 一个显示网页的视图.这个类是你可以滚动自己的Web浏览器或在你的Activity中简单地显示一些在线内容的基础.它使用了WebKit渲染引擎来显示网页,包括向前和向后导航的方法(通过历史记录),放大和缩小,执行文本搜索等. 需要注意的是:为了让你的应用能够使用WebView访问互联网和加载网页,你必须添加Internet的权限在Android Manifest文件中: <uses-permission android:name="android.permission.INTERNE

Android开发之IPC进程间通信-AIDL介绍及实例解析

一.IPC进程间通信 IPC是进程间通信方法的统称,Linux IPC包括以下方法,Android的进程间通信主要采用是哪些方法呢? 1. 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信:   2. 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身:linux除了支持Unix早期

Android开发之TextView高级应用

我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.下面就和大家分享一下TextView的一些使用技巧. Android中设置文本样式的几种方法: 1.将android:autoLink属性值设为true.系统会自动识别E-mail.电话.网址等特殊文本. 2.使用Html标签,例如,<font>.<img>等.不要设置 android:autoLink 属性. 3.在Java代码中直接使用Span对象来设置文本样式.这种方法需要将文本