android 中Intent 的使用的一些方法

1.简单的实现Activity之间的跳转

			Intent intent1;
			intent1=new Intent(IntentDemoActivity.this,Activity2.class);
			startActivity(intent1);


2.实现向下一个Activity传递值

1.第一种方法

要传递值的Acitvity中的代码
			Intent intent2;
			intent2 = new Intent(IntentDemoActivity.this, Activity2.class);
			intent2.putExtra("username", "要传递的字符串");
			intent2.putExtra("password", "密码");
			startActivity(intent2);

接收传递值的Activity中的代码
			Intent intent=getIntent();
		        String uname = intent.getStringExtra("username");   
		        String pwd = intent.getStringExtra("password");  
		        System.out.println("带参数传递的值------------->"+uname+""+pwd);
运行效果:

2.第二种方法

要传递值的Acitvity中的代码
			Intent intent3;
			intent3 = new Intent(IntentDemoActivity.this, Activity2.class);
			Bundle data = new Bundle();  
			data.putString("username", "要传递的字符串");
			data.putString("password", "密码");
			intent3.putExtras(data);  
			startActivity(intent3);

接收传递值的Activity中的代码

			Intent intent=getIntent();
			Bundle data = intent.getExtras();  
			String uname = intent.getStringExtra("username");   
			String pwd = intent.getStringExtra("password");  
			System.out.println("带参数传递的值------------->"+uname+""+pwd);  


3.实现带有返回值Activity跳转的传递

第一个Activity中需要的使用的方法:
                           Intent intent = new Intent(IntentDemoActivity.this, Activity2.class);
			startActivityForResult(intent, 1);

需要使用的onActivityResult方法:
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		switch (resultCode) {
		case RESULT_OK:
			System.out.println("返回的内容是------------>:"+ data.getStringExtra("retmsg"));
			break;

		default:
			break;
		}

	}

第2个返回传值的方法
	         Intent intent=getIntent();
		intent.putExtra("retmsg","返回传值给上Activity的值是");   
		this.setResult(RESULT_OK,intent);   
		this.finish();//结束焦点  

运行效果:

4.打开网页的方法

 

	                 Uri uri=Uri.parse("http://www.baidu.com");
			Intent intent=new Intent();
			intent.setAction(Intent.ACTION_VIEW);
			intent.setData(uri);
			startActivity(intent);

运行效果:
 

5.拨打电话的方法

拨打电话需要添加拨打电话的权限

 

			<uses-permission android:name="android.permission.CALL_PHONE"/>


实现的代码如下:

//			拨打电话
			String telnum="10086";
			Uri uri=Uri.parse("tel:"+telnum);
			Intent intent=new Intent();
			intent.setAction(Intent.ACTION_DIAL);
			intent.setData(uri);
			startActivity(intent);
运行效果:
 

 6.发短信的方法

 实现的方法如下:

			//发送短信的方法
			//接受短信人的号码
			String tonum="10086";
			String note="这里可以写短信内容....";
			Uri uri=Uri.parse("smsto:"+tonum);
			Intent intent=new Intent();
			intent.setAction(Intent.ACTION_SENDTO);
			//设置短信内容
			intent.putExtra("sms_body", note);
			//设置MIME类型
			intent.setType("vnd.android-dir/mms-sms");
			intent.setData(uri);
			startActivity(intent);
运行效果如下:


7.发送彩信的方法:

其中图片是保存在SD卡中的

//			发送彩信的方法
			Uri uri=Uri.parse("file:///sdcard/test.jpg");
			Intent intent=new Intent();
			intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
			intent.setAction(Intent.ACTION_SEND);
			intent.putExtra("subject", "这里写彩信的主题"); //彩信的主题
			intent.putExtra("address", "10086这里写收信人的电话号码");
			intent.putExtra("sms_body", "这里可以写短信内容....");
			intent.putExtra(Intent.EXTRA_STREAM, uri);
			intent.setType("image/*");
			intent.setClassName("com.android.mms","com.android.mms.ui.ComposeMessageActivity");
			startActivity(intent);
			

实现的效果如下:



8.发送邮件的方法:

	    Intent intent=new Intent(Intent.ACTION_SEND);
            String[] tos={"1111@qq.com收件人的邮箱地址"};
            String[] ccs={"222@qq.com发件人"};
            intent.putExtra(Intent.EXTRA_EMAIL, tos);
            intent.putExtra(Intent.EXTRA_CC, ccs);
            intent.putExtra(Intent.EXTRA_TEXT, "这里可以填写邮件内容");
            intent.putExtra(Intent.EXTRA_SUBJECT, "这里可以填写邮件标题");
            intent.setType("plain/text");
            startActivity(Intent.createChooser(intent, "发送"));

其中 Intent.createChooser(intent, "发送")是创建的Intent的选择器,选择手机中安装的应用软件


 

posted @   程序员Android的博客  阅读(75)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示