Intent的简介

一.Intent的介绍

Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息。

二.Inten启动组件的方法

Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcasts。具体方法如下:

组件名称 方法名称

 

Activity

startActvity( )

startActivity( )

 

Service

startService( )

bindService( )

 

Broadcasts

sendBroadcasts( )

sendOrderedBroadcasts( )

sendStickyBroadcasts( )

三、几种Intent的用法

1.浏览网页

Uri uri = Uri.parse("http://www.google.com");
Intent it  = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);

2.拨打电话

Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);

3.打开照相机

File externalFileDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File file = new File(externalFileDir,"one.jpg");
Intent captureImage = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri uri = Uri.fromFile(file);
captureImage.putExtra(MediaStore.EXTRA_OUTPUT,uri);
startActivityForResult(captureImage,1);

4.获取联系人

Intent picContact = new Intent(Intent.ACTION_PICK,
        ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(picContact,1);

5.调用发短信的程序

Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "The SMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
/**
 * 或者调用匹配的发送信息的程序供选择
 * Intent it = new Intent(Intent.ACTION_SEND);
 it.setType("text/plain");
 it.putExtra(Intent.EXTRA_TEXT,"the text");
 it.putExtra(Intent.EXTRA_SUBJECT,"subject");
 startActivity(it);
 */
来自个人博客:Intent的简介

posted on 2017-03-14 21:55  懂你在爱我  阅读(453)  评论(0)    收藏  举报

导航