Android开发入门:Intent基础与参数传递

需积分: 15 10 下载量 62 浏览量 更新于2024-08-13 收藏 234KB PPT 举报
"这是一份关于Android开发中Intent初级学习的教程,适合有一定Java基础的学员。讲师是若水,可以在CSDN博客和腾讯微博找到他的更多资源。教程强调了Intent在Android应用中的核心作用,并提供了拨打电话、发送短信以及启动新Activity并传递参数的示例代码。" 在Android开发中,Intent扮演着至关重要的角色,它是一种消息传递对象,用来在组件之间进行通信。Intent可以被理解为一个动作的抽象描述,它包含了执行某项操作的意图和必要的信息。Intent主要用于启动新的Activity,启动Service,或者在不同的组件间传递数据。 1. 拨打电话 当你需要让Android设备拨打电话时,可以创建一个ACTION_CALL类型的Intent,并指定电话号码。代码如下: ```java Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + telPhone)); ``` 注意,为了能够执行此操作,需要在AndroidManifest.xml中添加拨打权限: ```xml <uses-permission android:name="android.permission.CALL_PHONE" /> ``` 2. 发送短信 发送短信则需要创建一个ACTION_SENDTO类型的Intent,并指定接收方的电话号码。同时,可以通过putExtra方法添加短信内容: ```java Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:5554")); intent.putExtra("sms_body", "Hello"); ``` 同样,发送短信也需要在AndroidManifest.xml中声明权限: ```xml <uses-permission android:name="android.permission.SEND_SMS" /> ``` 3. 启动新的Activity和传递参数 启动新的Activity通常涉及到Intent的构造和传递数据。首先创建Intent,然后使用putExtra方法添加额外的数据,最后调用startActivity方法启动目标Activity。例如,你可以这样传递一个字符串参数: ```java Intent intent = new Intent(currentActivity, TargetActivity.class); intent.putExtra("key", "value"); startActivity(intent); ``` 在目标Activity中,可以通过getIntent().getStringExtra("key")来获取这个值。 4. 返回参数 当从一个Activity返回结果到另一个Activity时,可以使用setResult()方法设置结果Intent,然后在启动Activity的onActivityResult()方法中接收结果。例如,在TargetActivity中设置结果: ```java Intent resultIntent = new Intent(); resultIntent.putExtra("result_key", "result_value"); setResult(RESULT_OK, resultIntent); finish(); ``` 而在当前Activity中接收结果: ```java @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { String result = data.getStringExtra("result_key"); // 处理返回的结果 } } ``` 这样的机制允许Activity之间进行双向通信,传递数据并得到反馈。 Intent是Android系统中连接不同组件的桥梁,无论是启动新Activity、Service,还是在组件间传递数据,Intent都起着至关重要的作用。理解并熟练使用Intent是成为一名合格Android开发者的基础。