intent的简单用法

案例一

传值:

Intent intent=new Intent();
intent.putExtra("extra", "这是页面一传来的值!");
intent.setClass(Test_for_intentActivity.this, actpage2.class);
startActivity(intent);

取值:

Intent intent=getIntent();
String StringE=intent.getStringExtra("extra");
TextView text2=(TextView)findViewById(R.id.textView2);
text2.setText(StringE);

打开网页

  1. Uri uri = Uri.parse("http://www.google.com");
  2. Intent it= new Intent(Intent.ACTION_VIEW,uri);
  3. startActivity(it);
拨打电话
Uri uri =Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL,uri);
startActivity(it);

6.调用发短信的程序
Intent it = newIntent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "TheSMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
    1. //发送附件
    2. Intent it = new Intent(Intent.ACTION_SEND);
    3. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
    4. it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");
    5. sendIntent.setType("audio/mp3");
    6. startActivity(Intent.createChooser(it, "Choose Email Client"));

1.从google搜索内容  Intent intent = new Intent();  intent.setAction(Intent.ACTION_WEB_SEARCH);  intent.putExtra(SearchManager.QUERY,"searchString")  startActivity(intent);     2.浏览网页  Uri uri = Uri.parse("http://www.google.com");  Intent it  = new Intent(Intent.ACTION_VIEW,uri);  startActivity(it);     3.显示地图  Uri uri = Uri.parse("geo:38.899533,-77.036476");  Intent it = new Intent(Intent.Action_VIEW,uri);  startActivity(it);     4.路径规划  Uri uri = Uri.parse("http://maps.google.com/maps?f=dsaddr=startLat startLng&daddr=endLat endLng&hl=en");  Intent it = new Intent(Intent.ACTION_VIEW,URI);  startActivity(it);     5.拨打电话  Uri uri = Uri.parse("tel:xxxxxx");  Intent it = new Intent(Intent.ACTION_DIAL, uri);   startActivity(it);    6.调用发短信的程序  Intent it = new Intent(Intent.ACTION_VIEW);    it.putExtra("sms_body", "The SMS text");    it.setType("vnd.android-dir/mms-sms");    startActivity(it);          7.发送短信  Uri uri = Uri.parse("smsto:0800000123");    Intent it = new Intent(Intent.ACTION_SENDTO, uri);    it.putExtra("sms_body", "The SMS text");    startActivity(it);  String body="this is sms demo";  Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null));  mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);  mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);  mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);  startActivity(mmsintent);       8.发送彩信  Uri uri = Uri.parse("content://media/external/images/media/23");    Intent it = new Intent(Intent.ACTION_SEND);    it.putExtra("sms_body", "some text");    it.putExtra(Intent.EXTRA_STREAM, uri);    it.setType("image/png");    startActivity(it);  StringBuilder sb = new StringBuilder();  sb.append("file://");  sb.append(fd.getAbsoluteFile());  Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null));  // Below extra datas are all optional.  intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);  intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);  intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());  intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);  intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);  startActivity(intent);       9.发送Email  Uri uri = Uri.parse("mailto:[email protected]");  Intent it = new Intent(Intent.ACTION_SENDTO, uri);  startActivity(it);  Intent it = new Intent(Intent.ACTION_SEND);    it.putExtra(Intent.EXTRA_EMAIL, "[email protected]");    it.putExtra(Intent.EXTRA_TEXT, "The email body text");    it.setType("text/plain");    startActivity(Intent.createChooser(it, "Choose Email Client"));   Intent it=new Intent(Intent.ACTION_SEND);      String[] tos={"[email protected]"};      String[] ccs={"[email protected]"};      it.putExtra(Intent.EXTRA_EMAIL, tos);      it.putExtra(Intent.EXTRA_CC, ccs);      it.putExtra(Intent.EXTRA_TEXT, "The email body text");      it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");      it.setType("message/rfc822");      startActivity(Intent.createChooser(it, "Choose Email Client"));    Intent it = new Intent(Intent.ACTION_SEND);    it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");    it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");    sendIntent.setType("audio/mp3");    startActivity(Intent.createChooser(it, "Choose Email Client"));        10.播放多媒体   Intent it = new Intent(Intent.ACTION_VIEW);  Uri uri = Uri.parse("file:///sdcard/song.mp3");  it.setDataAndType(uri, "audio/mp3");  startActivity(it);  Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");    Intent it = new Intent(Intent.ACTION_VIEW, uri);    startActivity(it);         11.卸载apk  Uri uri = Uri.fromParts("package", strPackageName, null);    Intent it = new Intent(Intent.ACTION_DELETE, uri);    startActivity(it);        12.安装apk  Uri installUri = Uri.fromParts("package", "xxx", null);  returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri)

Android中Intent传递类对象提供了两种方式一种是通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象。

要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递。

Intent中传递这2种对象的方法:

Bundle.putSerializable(Key,Object);  //实现Serializable接口的对象Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象

以下以最常用的Serializable方式为例 :

假设由登录界面(Login)跳转到主界面(MainActivity)传递的对象为登录的用户信息 User类

首先创建一个序列化类:User

import java.io.Serializable;public class User implements Serializable {   private int ID;    private String UserName;        private String PWD;        public final void setID(int value)    {        ID = value;    }    public final int getID()    {        return ID;    }        public final void setUserName(String value)    {        UserName = value;    }    public final String getUserName()    {        return UserName;    }      public final void setPWD(String value)    {        PWD = value;    }    public final String getPWD()    {        return PWD;    }        }

登录窗体登录后传递内容

Intent intent = new Intent();intent.setClass(Login.this, MainActivity.class);Bundle bundle = new Bundle();bundle.putSerializable("user", user);intent.putExtras(bundle);this.startActivity(intent);

接收端

Intent intent = this.getIntent(); user=(User)intent.getSerializableExtra("user");

以上就可以实现对象的传递。

补充:

如果传递的是List<Object>,可以把list强转成Serializable类型,而且object类型也必须实现了Serializable接口

 Intent.putExtras(key, (Serializable)list)  

接收

(List<YourObject>)getIntent().getSerializable(key)

更多相关文章

  1. android 打开GPS的2种方式
  2. Android(安卓)Kotlin 接口函数
  3. 关于android AbsSeekBar
  4. Android使用ksoap2包调用Webservice
  5. android实现分享功能
  6. 【Android(安卓)应用开发】Activity 状态保存 OnSaveInstanceSta
  7. 关于Android获取屏幕分辨率大小
  8. Android(安卓)Retrofit网络框架 (一)
  9. android SDK 代理配置(东北大学)

随机推荐

  1. Android开发之拖动条/滑动条控件、星级评
  2. 笔记!
  3. Android 左右滑屏效果
  4. android adb 命令大全
  5. API 23 widget.Space——属性分析
  6. 在android创建bitmap避免低记忆法
  7. Android日志框架SLF4J Android
  8. android configuration example
  9. android全屏,强制竖屏,强制横屏
  10. Android相关网站