Android Intent ACTION大全:导航、搜索、拨号与更多

需积分: 9 1 下载量 31 浏览量 更新于2024-09-14 收藏 7KB TXT 举报
"intent_action大全" 在Android开发中,Intent是一种强大的工具,用于在应用程序之间传递数据和启动各种操作。`Intent ACTION`是Intent的一部分,它定义了特定的行为或活动,比如打开网页、拨打电话、发送短信等。下面将详细解释上述给定的部分内容所涉及的intent_action及其应用场景: 1. 搜索Google 使用`Intent.ACTION_WEB_SEARCH`可以启动设备上的Web搜索功能。`putExtra()`方法用于添加查询参数,例如"searchString",然后通过`startActivity()`启动搜索。 ```java Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, "searchString"); startActivity(intent); ``` 2. 打开网页 `Intent.ACTION_VIEW`常用来打开URL链接,例如在浏览器中查看网页。这里用`Uri.parse()`解析URL,然后创建Intent。 ```java Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 3. 显示地图位置 使用`Intent.ACTION_VIEW`和地理URI (`geo:`) 可以在地图应用中显示特定坐标。 ```java Uri uri = Uri.parse("geo:38.899533,-77.036476"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 4. 导航路线 要从一个位置导航到另一个位置,可以使用`Intent.ACTION_VIEW`和特定的maps.google.com URL。这将在地图应用中启动导航。 ```java Uri uri = Uri.parse("http://maps.google.com/maps?f=d&src=sender&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 5. 拨打电话 `ACTION_DIAL`可以启动电话拨打界面,但不会自动拨打。`tel:` URI用于指定电话号码。 ```java Uri uri = Uri.parse("tel:xxxxxx"); Intent it = new Intent(Intent.ACTION_DIAL, uri); startActivity(it); ``` 6. 发送文本消息(SMS) 使用`ACTION_VIEW`发送短信,`setType()`指定消息类型为MMS/SMS。`putExtra()`添加短信正文。 ```java Intent it = new Intent(Intent.ACTION_VIEW); it.putExtra("sms_body", "TheSMStext"); it.setType("vnd.android-dir/mms-sms"); startActivity(it); ``` 7. 直接发送短信 `ACTION_SENDTO`配合`smsto:` URI可直接发送短信,而不启动草稿界面。 ```java Uri uri = Uri.parse("smsto:0800000123"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); it.putExtra("sms_body", "TheSMStext"); startActivity(it); ``` 8. 创建自定义Intent 除了预定义的intent_action,开发者还可以创建自定义的Intent来在应用程序内部或与其他应用交互。 ```java String body = "thisissmsdemo"; Intent mmsIntent = new Intent(Intent.ACTION_SEND); mmsIntent.putExtra("sms_body", body); mmsIntent.setType("text/plain"); startActivityForResult(mmsIntent, Constants.SEND_SMS_REQUEST_CODE); ``` 以上代码展示了如何启动一个发送短信的Intent,但请注意,Android权限管理需要在使用与SMS相关的功能时申请相应的权限。 总结来说,Intent ACTION是Android系统中实现不同组件间通信的关键,通过调用不同的action,可以实现各种各样的功能,如搜索、浏览网页、定位、导航、拨打电话、发送消息等。理解并熟练运用这些intent_action,对于Android应用开发者来说至关重要。