Android开发_Intent

来源:互联网 发布:sql平均值函数 编辑:程序博客网 时间:2024/06/12 22:22

Intent基础信息

Intent(意图)是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的Activity来浏览网页;如果该Intent匹配到多个组件,那么系统就会将其一一列举出来,由用户来选择该使用哪一个。 Android中的Activity,Service和Broadcast Receiver都是通过Intent机制激活的。

通过Intent启动Activity的方式

// 通过显式Intent来启动Activitypublic void startActivity() {// 1、通过组件的名称来实现Intent i1 = new Intent();i1.setComponent(new ComponentName("Activity包名", "Activity类的全路径名称"));startActivity(i1);// 2、通过类名来实现Intent i2 = new Intent(MainActivity.this, MainActivity.class);startActivity(i2);}// 通过隐式Intent来启动Activitypublic void startActivity2() {// 1、通过Action来实现Intent i1 = new Intent("com.example.intents.intent.action.Aty");startActivity(i1);}

通过Intent来打开一张图片

public void openImage() {File file = new File("/mnt/sdcard/1.jpg");Intent i = new Intent(Intent.ACTION_VIEW);i.setDataAndType(Uri.fromFile(file), "image/*");startActivity(i);}


Intent的其它应用
// 通过Intent来拨打电话public void openTelophone() {Intent i = new Intent(Intent.ACTION_VIEW);i.setData(Uri.parse("tel:10086"));startActivity(i);}// 通过Intent来打开网页public void openWeb() {Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com"));startActivity(i);}
0 0