Android入门:Intent基础与应用

需积分: 15 10 下载量 46 浏览量 更新于2024-09-20 1 收藏 234KB PPT 举报
"Intent初级学习(android)" 在Android开发中,Intent是一个至关重要的概念,它作为应用程序组件间通信的主要机制,允许我们启动其他组件或传递数据。本篇内容主要介绍了Intent的基本使用,包括拨打电话、发送短信以及启动新Activity并传递参数。 1. Intent的定义 Intent在Android中被定义为一个抽象的操作描述,它定义了想要执行的动作,而具体的执行细节则由Android系统来处理。Intent分为显式Intent和隐式Intent两种类型。显式Intent明确指定要启动的目标组件,而隐式Intent则根据动作(ACTION)、数据(DATA)等信息让系统选择合适的组件执行。 2. 拨打电话 拨打电话的Intent使用`ACTION_CALL`动作,并且需要`CALL_PHONE`权限。以下代码展示了如何创建一个拨打电话的Intent: ```java Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + telPhone)); ``` 这里`telPhone`是电话号码,添加权限`<uses-permission android:name="android.permission.CALL_PHONE"/>`以确保应用有权限进行电话呼叫。 3. 发送短信 发送短信的Intent使用`ACTION_SENDTO`动作,目标是`smsto:` URI,并可以附加短信内容。示例如下: ```java Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:5554")); intent.putExtra("sms_body", "Hello"); ``` `5554`是接收方的电话号码,`"Hello"`是短信内容。同样,发送短信也需要`SEND_SMS`权限: `<uses-permission android:name="android.permission.SEND_SMS"/>` 4. 启动新的Activity 启动新的Activity通常用于在应用内部导航,Intent可以携带数据。例如,你可以创建一个Intent来启动新的Activity,并传递参数: ```java Intent intent = new Intent(currentActivity, TargetActivity.class); intent.putExtra("key", value); // 'key'是参数名,'value'是参数值 startActivity(intent); ``` 在新的Activity中,通过`getIntent().getStringExtra("key")`或者`getIntent().getExtras()`来获取传递的数据。 5. 传递和返回参数 Intent不仅用于启动Activity,还可以用来在Activity之间传递数据。使用`putExtra()`方法添加额外的数据,而在接收方Activity中使用`getExtras()`或特定的`getXXXExtra()`方法来获取这些数据。如果需要从启动的Activity返回结果,可以使用`setResult()`方法,并在启动Activity的父Activity中覆盖`onActivityResult()`方法来接收返回的结果。 6. 权限管理 记住,涉及敏感操作(如拨打电话和发送短信)的Intent需要在AndroidManifest.xml文件中声明相应的权限,否则在运行时会抛出异常。 Intent是Android开发者必备的工具,它使得组件间的交互变得简单而灵活,无论是启动一个Activity、启动Service、发送广播,还是打开设置等,Intent都扮演着关键角色。理解并熟练运用Intent对于深入学习Android开发至关重要。