- 浏览: 674997 次
- 性别:
- 来自: 安徽
文章分类
- 全部博客 (252)
- Html/Div+CSS (12)
- Js/Jquery (34)
- Flex (2)
- Ajax (3)
- Java (35)
- C# (15)
- Spring (16)
- Hibernate (13)
- Struts2 (12)
- Struts1 (7)
- DWR (1)
- iBatis/myBatis (9)
- Tag(JSTL、EL) (1)
- Android (44)
- SQL (7)
- SEO (7)
- Exception (3)
- Tool (10)
- Other (3)
- WebService (9)
- Apache (7)
- Ext (0)
- Utils (12)
- thinking in programme (2)
- Hadoop (0)
- ActiveMQ (0)
- HTML5/CSS3 (0)
- WPF (1)
- NodeJs (1)
- 设计模式 (0)
- 程序人生 (1)
- 随笔 (1)
- Linux (1)
- Load Balance (0)
最新评论
-
drinkjava2:
太复杂了而且不通用,利用ThreadLocal可完美解决这一问 ...
JDBC的多条件动态查询 -
u013107014:
multipartRequest.getFiles(" ...
多文件上传 by MultipartFile and Multiple -
liyys:
可惜没讲你mysql数据库的表的设计
iBatis入门 -
Mapple_leave:
效果还是挺不错的,谢谢了。
中文简体与繁体的转换 -
arcpad:
JS禁用浏览器退格键
在一个项目之中,会由多个 Activity 程序所组成,那么此时,这么多个 Activity 程序之间就需要进行通讯,而这之间的通讯就依靠 Intent 完成。
Activity 程序支持的 Intent 操作方法:
No. |
方法 |
描述 |
1 |
Public void startActivity(Intent intent) |
启动一个 Activity ,并通过 Intent 传送数据 |
2 |
Public void startActivityForResult(Intent intent, int requestCode) |
启动并接受另一个 Activity 程序回传数据,当 requestCode 大于 0 才可以触发 onActivityResult() |
3 |
Public Intent getIntent() |
返回启动当前 Activity 程序的 Intent |
4 |
Protected void onActivityResult(int requestCode, int resultCode,Intent data) |
当需要接受 Intent 回传数据的时候覆写此方法对回传操作进行处理 |
5 |
Public void finish() |
调用此方法会返回之前的 Activity 程序,并自动调用 onActivityResult() 方法 |
一、 Intent 带返回值
Intent02_Send_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class Intent02_Send_Activity extends Activity { private Button mybut = null; private TextView msg = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.send_main); this.mybut = (Button) super.findViewById(R.id.mybut); this.msg = (TextView) super.findViewById(R.id.msg); this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { Intent intent = new Intent(Intent02_Send_Activity.this, Receive.class); intent.putExtra("myinfo", "你好"); // 带返回值的跳转,如果1大于0,则可以接受 Intent02_Send_Activity.this.startActivityForResult(intent, 1); // 不带返回值的跳转 Intent_Send01Activity.this.startActivity(it); // 跳转 } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { switch (resultCode) { case RESULT_OK: Intent02_Send_Activity.this.msg.setText("返回的内容是:" + intent.getStringExtra("retmsg")); break; case RESULT_CANCELED: Intent02_Send_Activity.this.msg.setText("操作取消。"); break; default: break; } } }
Receive.java
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class Receive extends Activity { private TextView show = null; private Button retbut = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.receive_main); this.show = (TextView) super.findViewById(R.id.show); this.retbut = (Button) super.findViewById(R.id.retbut); Intent intent = super.getIntent(); // 取得当前的Intent String info = intent.getStringExtra("myinfo"); this.show.setText(info); this.retbut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { Receive.this.getIntent().putExtra("retmsg", "祖国:中国"); Receive.this.setResult(RESULT_OK, Receive.this.getIntent()); Receive.this.finish(); } } }
前面我们说了 Intent 的基本操作,设置跳转时的数据都是附加数据( Extrs ) , 那么除了这些附加数据之外,也可以传递更多的内容,并且调用本机的一些已经为用户提供好的 Intent 操作。
Intent 数据传递实际上分为以下六种数据:操作( Action )、数据( Data )、数据类型( Type )、操作类别( Category )、附件信息( Extras )、组件( Component )、标志( Flags );
1 、操作( Action ):设置该 Intent 会触发的操作类型,可以通过 setAction() 方法进行设置
No. |
Action 名称 |
AndroidManifest.xml 配置名称 |
描述 |
1 |
ACTION_MAIN |
android.intent.action. MAIN |
作为一个程序的入口,不需要接受数据 |
2 |
ACTION_VIEW |
android.intent.action. VIEW |
用于数据的显示 |
3 |
ACTION_DIAL |
android.intent.action. DIAL |
调用电话拨号程序 |
4 |
ACTION_EDIT |
android.intent.action. EDIT |
用于编辑给定的数据 |
5 |
ACTION_PICK |
android.intent.action. PICK |
从特定的一组数据之中进行数据的选择操作 |
6 |
ACTION_RUN |
android.intent.action. RUN |
运行数据 |
7 |
ACTION_SEND |
android.intent.action. SEND |
调用发送短信程序 |
8 |
ACTION_GET_CONTENT |
android.intent.action. GET_CONTENT |
根据指定的 Type 来选择打开操作内容的 Intent |
9 |
ACTION_CHOOSER |
android.intent.action. CHOOSER |
创建文件操作选择器 |
相当于通过 Action 指定要操作的类型
2 、数据( Data )
描述 Intent 所操作数据的 URI 及类型,可以通过 setData() 进行设置,不同的操作对应着不同的 Data
No. |
操作类型 |
Data(Uri) 格式 |
范例 |
1 |
浏览网页 |
http:// 网页地址 |
|
2 |
拨打电话 |
tel: 电话号码 |
|
3 |
发送短信 |
smsto: 短信接收人号码 |
smsto:13956027313 |
4 |
查找 SD 卡文件 |
file:///sdcard / 文件 or 目录 |
file:///sdcard /pic.jpg |
5 |
显示地图 |
geo: 坐标 , 坐标 |
geo:32,-75 |
这些数据是和跳转的程序接受标准有关。
3 、数据的类型( Type ):指定要传送数据的 MIME 类型,可以直接通过 setType() 方法进行设置。
No. |
作用 |
MIME 类型 |
1 |
发送短信 |
vnd.android-dir/mms-sms |
2 |
设置图片 |
Image/png |
3 |
普通文本 |
Text/plain |
4 |
设置音乐 |
Audio/mp3 |
4 、操作的类别( Category ):对执行操作的类别进行描述,可以通过 addCategory() 方法设置多个类别
No. |
Category 名称 |
AndroidManifest.xml 配置名称 |
描述 |
1 |
CATEGORY_LAUNCHER |
android.intent.category. LAUNCHER |
表示此程序显示在应用程序列表中 |
2 |
CATEGORY_HOME |
android.intent.category. HOME |
显示主桌面,即开机时的第一个界面 |
3 |
CATEGORY_PREFERENCE |
android.intent.category. PREFERENCE |
运行后将出现一个选择面板 |
4 |
CATEGORY_BROWSABLE |
android.intent.category. BROWSABLE |
显示一张图片、 email 信息 |
5 |
CATEGORY_DEFAULT |
android.intent.category. DEFAULT |
设置一个操作的默认执行 |
6 |
CATEGORY_OPENABLE |
android.intent.category. OPENABLE |
当 Action 设置为 GET_CONTENT 时用于打开指定的 Uri |
5 、附件信息( Extras ):传递的是一组键值对,可以使用 pubExtra() 方法进行设置,主要的功能是传递数据( Uri )所需要的一些额外的操作信息
No. |
操作数据 |
附加信息 |
作用 |
1 |
短信操作 |
sms_body |
表示要发送短信的内容 |
2 |
彩信操作 |
Intent.EXTRA_STREAM |
设置发送彩信的内容 |
3 |
指定接收人 |
Intent.EXTRA_BCC |
指定接受 Email 或信息的接收人 |
4 |
Email 接收人 |
Intent.EXTRA_EMAIL |
用于指定 email 的接收人,接受一个数组 |
5 |
Email 标题 |
Intent.EXTRA_SUBJECT |
用于指定 email 邮件的标题 |
6 |
Email 内容 |
Intent.EXTRA_TEXT |
用于指定 email 邮件的内容 |
6 、组件( Component ):指明了将要处理的 Activity 程序,所有的组件信息都被封装在一个 ComponentName 对象之中,这些组件必须在 AndroidManifest.xml 文件的“ <application> ”中注册。
7 、标识( Flags ):用于指示 android 系统如何加载并运行一个操作,可以通过 addFlags() 方法进行增加。
下面我们来看看 Intent 内置功能的范例。
二、打开网页
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Intent03Activity extends Activity { /** Called when the activity is first created. */ private Button mybut = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { Uri uri = Uri.parse("http://xdwangiflytek.iteye.com/"); // 设置操作的路径 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); // 设置要操作的Action intent.setData(uri); // 要设置的数据 Intent03Activity.this.startActivity(intent); // 执行跳转 } } }
三、拨打电话(进入打电话界面,值填充完成)
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class Intent04Activity extends Activity { /** Called when the activity is first created. */ private Button mybut = null; private EditText tel = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件 this.tel = (EditText) super.findViewById(R.id.tel); // 取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { String telStr = Intent04Activity.this.tel.getText().toString(); // 取得输入信息 Uri uri = Uri.parse("tel:" + telStr); // 设置操作的路径 Intent intent = new Intent(); intent.setAction(Intent.ACTION_DIAL); // 设置要操作的Action intent.setData(uri); // 要设置的数据 Intent04Activity.this.startActivity(intent); // 执行跳转 } } }
四、直接拨打电话呼出
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class Intent05Activity extends Activity { /** Called when the activity is first created. */ private Button mybut = null; private EditText tel = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件 this.tel = (EditText) super.findViewById(R.id.tel); // 取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { String telStr = Intent05Activity.this.tel.getText().toString(); // 取得输入信息 Uri uri = Uri.parse("tel:" + telStr); // 设置操作的路径 Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); // 设置要操作的Action intent.setData(uri); // 要设置的数据 Intent05Activity.this.startActivity(intent); // 执行跳转 } } }
添加权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
五、发送短信息(进入发短信界面,值填充完成)
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class Intent06Activity extends Activity { /** Called when the activity is first created. */ private Button mybut = null; private EditText tel = null; private EditText content = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件 this.tel = (EditText) super.findViewById(R.id.tel); // 取得组件 this.content = (EditText) super.findViewById(R.id.content); // 取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { String telStr = Intent06Activity.this.tel.getText().toString(); // 取得输入信息 String note = Intent06Activity.this.content.getText().toString(); // 取得内容 Uri uri = Uri.parse("smsto:" + telStr); // 设置操作的路径 Intent intent = new Intent(); intent.setAction(Intent.ACTION_SENDTO); // 设置要操作的Action intent.putExtra("sms_body", note); // 设置短信内容 intent.setType("vnd.android-dir/mms-sms"); // 短信的MIME类型 intent.setData(uri); // 要设置的数据 Intent06Activity.this.startActivity(intent); // 执行跳转 } } }
六、发送彩信
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Intent07Activity extends Activity { /** Called when the activity is first created. */ private Button mybut = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { Uri uri = Uri.parse("file:///sdcard/mypic.jpg"); // 设置操作的路径 Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); // 设置要操作的Action intent.putExtra("address", "13956027313"); // 设置短信内容 intent.putExtra("sms_body", "安徽合肥"); // 设置短信内容 intent.putExtra(Intent.EXTRA_STREAM, uri); // 设置短信内容 intent.setType("image/png"); // 短信的MIME类型 Intent07Activity.this.startActivity(intent); // 执行跳转 } } }
七、发送邮件
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Intent08Activity extends Activity { /** Called when the activity is first created. */ private Button mybut = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (Button) super.findViewById(R.id.mybut); // 取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setType("plain/text"); // 设置类型 String address[] = new String[] { "xdwangiflytek@gmail.com" }; // 邮件地址 String subject = "xdwang"; String content = "xdwangiflytek.iteye.com"; emailIntent.putExtra(Intent.EXTRA_EMAIL, address); emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); emailIntent.putExtra(Intent.EXTRA_TEXT, content); Intent08Activity.this.startActivity(emailIntent); // 执行跳转 } } }
八、显示通讯录
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; public class Intent09Activity extends Activity { /** Called when the activity is first created. */ private static final int PICK_CONTACT_SUBACTIVITY = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); Uri uri = Uri.parse("content://contacts/people"); Intent intent = new Intent(Intent.ACTION_PICK, uri); super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case PICK_CONTACT_SUBACTIVITY: } } }
九、调用ContentProvider
package com.iflytek.demo; import android.app.Activity; import android.content.ContentUris; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.Toast; public class Intent10Activity extends Activity { /** Called when the activity is first created. */ private static final int PICK_CONTACT_SUBACTIVITY = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); Uri uri = Uri.parse("content://contacts/people"); Intent intent = new Intent(Intent.ACTION_PICK, uri); super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case PICK_CONTACT_SUBACTIVITY: Uri ret = data.getData(); // 接收返回的数据 String phoneSelection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?"; // 设置查询条件 String[] phoneSelectionArgs = { String.valueOf(ContentUris .parseId(ret)) }; // 返回的ID Cursor c = super.managedQuery( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, phoneSelection, phoneSelectionArgs, null); StringBuffer buf = new StringBuffer(); buf.append("电话号码是:"); for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { buf.append( c.getString(c .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))) .append("、"); } Toast.makeText(this, buf, Toast.LENGTH_LONG).show(); } } }
添加读取权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
十、创建选择器(打开图库)
Intent11Activity.java
package com.iflytek.demo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; public class Intent11Activity extends Activity { private ImageButton mybut = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.mybut = (ImageButton) super.findViewById(R.id.mybut); this.mybut.setOnClickListener(new OnClickListenerImpl()); } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); Intent11Activity.this.startActivity(Intent.createChooser(intent, "选择图片浏览工具")); } } }
ImageViewActivity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.widget.ImageView; public class ImageViewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setTitle("查看图片"); ImageView img = new ImageView(this); img.setImageResource(R.drawable.ic_launcher); super.setContentView(img); } }
发表评论
-
This version of ADT requires android SDK
2013-07-25 16:45 1597Windows系统下用Eclipse开发工具开发An ... -
Android学习13-----网络通信(4) WebView组件
2012-11-27 09:18 2519WebView 是一个开发的浏览 ... -
Android学习13-----网络通信(3) 与Web Service进行通讯
2012-11-26 09:40 1896这里我们的WebService使用xFire开发。 ... -
Android学习13-----网络通信(2) 与Socket交换数据
2012-11-23 09:11 3309对于网络开发而言,最常用的交互模式:WebService、We ... -
Android学习13-----网络通信(1) 与WEB服务器交换数据
2012-11-22 09:11 2196与Web服务器交互: 如果手机要想与 web ... -
Android学习11-----多媒体技术(5) 媒体录制
2012-11-16 08:10 1896在Android中通过android.media ... -
Android学习11-----多媒体技术(4) 使用摄像头拍照,多点触控
2012-11-15 08:37 2889一、摄像头拍照 前面说媒体播放 时了解了 ... -
Android学习11-----多媒体技术(3) 媒体播放
2012-11-14 08:25 1415在 Androi ... -
Android学习11-----多媒体技术(2) Animation
2012-11-13 08:47 1997一、渐变动画, Tweened Animation ... -
Android学习11-----多媒体技术(1) 绘制简单图形,Bitmap,Matrix
2012-11-12 08:48 1626一、绘制简单图 ... -
Android学习12-----手机服务(4) 传感器
2012-11-19 09:13 2022传感器一般用于游戏中,在 Android 系统中为 ... -
Android学习12-----手机服务(1) 取得电池电量和声音服务:AudioManager
2012-11-18 11:18 3508一、取得电池电量信息 ... -
Android学习10-----Android组件通信 (8) 桌面显示组件:AppWidget
2012-11-02 08:36 2040一、 AppWidget 在使用 Androi ... -
Android学习10-----Android组件通信 (7) 广播机制:Broadcast
2012-11-01 08:43 1518一、 广播: 广播也是一种信息的发送机制,在 ... -
Android学习10-----Android组件通信 (6) PendingIntent
2012-10-31 08:20 2265Intent 的主要功能是表示用 ... -
Android学习10-----Android组件通信 (5) Service
2012-10-30 08:25 1740Service 基本组成: ... -
Android学习10-----Android组件通信 (4) 消息机制
2012-10-29 08:22 1554在 Android 操作系统中存在着消息队列的操作 ... -
Android学习10-----Android组件通信 (3) ActivityGroup
2012-10-26 08:23 2320导航栏在 Android 中的应用是很常见的,前面 ... -
Android学习10-----Android组件通信 (2) Activity生命周期
2012-10-25 08:16 1287Activity 是整个 Android 平台的基 ... -
Android判断是否有网络连接
2013-04-25 16:34 1442Android中判断有时候因为功能的需求,需要判断是否有网络 ...
相关推荐
在Android操作系统中,Intent是一种强大的组件间通信机制,它用于启动其他应用程序组件,如Activity、Service,甚至BroadcastReceiver。Intent不仅能够传递数据,还能在应用的不同部分之间建立连接,是Android开发中...
Intent在Android开发中扮演着至关重要的角色,它是四大组件(Activity、Service、BroadcastReceiver和ContentProvider)间通信的关键。Intent不仅用于应用间的交互,也可以在同一个应用内的不同组件之间传递信息。...
标题与描述均指向了“Android各组件详解——Intent”,这一主题深入探讨了...无论是跨组件通信、启动服务还是发送广播,Intent都扮演着不可或缺的角色,掌握其使用技巧对于提升应用程序的灵活性和响应性至关重要。
在Android开发中,Intent是一种非常重要的组件间通信(IPC)机制。Intent主要用于启动或与其它应用程序组件进行交互,如活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)以及内容提供者...
Intent和Intent-filters是Android系统中至关重要的组件通信机制,它们让组件之间能够灵活、动态地交互。理解Intent的工作原理和Intent-filter的匹配规则,对于开发者来说是设计高效、健壮应用的关键。在实际开发中,...
在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制。Intent-filter的配置对于正确地启动和接收...在Android系统中,Intent-filter是组件间通信的关键组成部分,它决定了哪些组件能响应用户的特定操作。
【Android Intent 组件通信与广播消息】 Intent是Android系统中至关重要的组件通信工具,它扮演着消息传递者的角色,使得应用程序的不同组件(如Activity、Service、BroadcastReceiver)能够相互通信。Intent不仅...
在Android应用开发中,Intent是连接应用程序组件的重要机制,它用于在组件之间传递消息和启动操作。本资料主要聚焦于Android Intent中的Action概念,详细解析了Android Intent Action大全。 Intent通常包含两个关键...
在Android开发中,Intent是应用程序之间通信的重要桥梁,而Bundle则是Intent中传递数据的容器。此组件能自动解析Intent和Bundle的内容,将其以易于理解的形式输出,这对于理解和调试涉及到Intent传递的代码非常有...
在Android开发中,Intent是一种非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)以及内容提供者(Content Provider)之间的交互...
在<intent-filter>中声明一个<action android:name="com.example.ACTION_NAME"/>,就表示组件能够处理对应的Action。 2. **Category**: Category用于进一步描述Intent的性质。常见的类别有CATEGORY_DEFAULT(默认...
在Android开发中,Intent和BroadcastReceiver是两个至关重要的组件,它们构成了Android系统中不同组件间通信的核心机制。Intent用于在应用程序的不同组件之间传递消息,而BroadcastReceiver则是一种响应这些消息的...
这在跨组件通信或系统事件通知方面非常有用。 9. **Service与Intent**:Intent同样用于启动和绑定Service。`startService(Intent intent)`启动Service,执行一次性任务;`bindService(Intent intent, ...
在"android-criminal-intent-master"压缩包中,包含了该项目的源代码。通常,一个Android应用项目包含以下几个主要部分: 1. **AndroidManifest.xml** - 这是应用程序的配置文件,其中定义了应用的组件、权限和其他...
为了确保应用程序的组件能够正确响应隐式Intent请求,组件需要在`AndroidManifest.xml`文件中声明一个或多个`<intent-filter>`。每个`<intent-filter>`描述了组件能够响应的能力,即组件希望接收什么样的请求行为和...
1. **Android Lollipop 版本特性**: - Android 21 是 Android 5.0(棒棒糖)的代号,它引入了 Material Design 设计语言,为用户界面带来了全新的视觉风格。 - ART(Android RunTime)替代了 Dalvik,提供了预...
【Android经典设计源码-Intent_ComponentSample.rar】是一个关于Android应用程序开发的学习资源,主要涵盖了Android中的Intent和组件(Component)的使用。这个压缩包包含了Intent_ComponentSample项目的所有源代码...
1. **Activity与Intent**:Activity是Android应用的基本构建块,它代表了用户界面的一个屏幕。Intent用于在不同的组件之间进行通信,如启动Activity或Service。 2. **布局设计**:项目可能包含多种XML布局文件,...