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的选择器,选择手机中安装的应用软件


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android StudioIntent是一种用于在不同组件之间传递数据的机制。Intent可以用于启动活动、服务和广播接收器,以及在这些组件之间传递数据。 要使用Intent,您需要创建一个Intent对象,并指定要启动的组件和要传递的数据。例如,要启动一个活动并传递一些数据,您可以使用以下代码: ``` Intent intent = new Intent(this, MyActivity.class); intent.putExtra("key", "value"); startActivity(intent); ``` 在这个例子,我们创建了一个Intent对象,并指定要启动的活动是MyActivity。我们还使用putExtra()方法将一个键值对添加到Intent,以便在启动的活动使用。 要在启动的活动获取传递的数据,您可以使用以下代码: ``` Intent intent = getIntent(); String value = intent.getStringExtra("key"); ``` 在这个例子,我们使用getIntent()方法获取传递给活动的Intent对象。然后,我们使用getStringExtra()方法获取传递的字符串数据,并指定键名为“key”。 除了传递数据,Intent还可以用于启动其他组件,例如服务和广播接收器。要启动服务,您可以使用以下代码: ``` Intent intent = new Intent(this, MyService.class); startService(intent); ``` 在这个例子,我们创建了一个Intent对象,并指定要启动的服务是MyService。然后,我们使用startService()方法启动服务。 要注册广播接收器并接收广播消息,您可以使用以下代码: ``` IntentFilter filter = new IntentFilter(); filter.addAction("com.example.MY_ACTION"); MyBroadcastReceiver receiver = new MyBroadcastReceiver(); registerReceiver(receiver, filter); ``` 在这个例子,我们创建了一个IntentFilter对象,并指定要接收的广播消息是“com.example.MY_ACTION”。然后,我们创建了一个广播接收器对象,并使用registerReceiver()方法注册它。 以上是Android Studio使用Intent的基本方法。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值