Android中Intent基本使用

本文介绍了Android中Intent的基本使用方法,包括Intent对象的组成要素、如何使用Intent进行两个Activity之间的数据传递,以及如何在Activity间发送消息。通过实例演示了如何在MainActivity跳转到OtherActivity并传递数据,以及如何利用Intent发送短信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android中Intent基本使用

Intent(意图)的基本作用

一个Intent对象包含了一组信息:
<< Componentname  要启动哪一个Activity
<< Action         启动后,做什么
<< Data           传送怎样的数据
  Category
<< Extras         额外的信息:键值对
  Flags

<< 代表比较重要的信息


Intent的基本使用方法
Intent intent = new Intent();
intent.setClass(Activity01.this,Activity02.class);
startActivity(intent);

其中的setClass方法最为关键:
Intent.setClass(Context packageContext, Class<?> cls)
Intent.setClass(从哪个Activity跳转, 跳转到哪去)



Intent可以在两个Activity中传递数据,现简单的实现一下:

创建一个OtherActivity,它有一个布局文件other.xml,所以OtherActivity.java为:
<span style="white-space:pre">	</span>public class OtherActivity extends Activity{


		@Override
		protected void onCreate(Bundle savedInstanceState) {
			// TODO Auto-generated method stub
			super.onCreate(savedInstanceState);
			setContentView(R.layout.other);
			
			TextView textView  = (TextView) findViewById(R.id.textView1);
			
			//得到由MainActivity传递来的intent
			Intent intent = getIntent();
			//用getStringExtra(key) 取出值 来
			String value = intent.getStringExtra("testIntent");
			
			textView.setText(value);
			
		}
	}


然后在清单文件中配置一下OtherActivity:
<activity
android:name=".OtherActivity"
android:label="other" >
</activity>



在MainActivity中:
<span style="white-space:pre">	</span>public class MainActivity extends Activity {


		private Button myButton = null;
		@Override
		protected void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.activity_main);
			
			myButton = (Button) findViewById(R.id.myButton);
			myButton.setOnClickListener(new MyButtonListener());
		}
		
		class MyButtonListener implements OnClickListener{


			@Override
			public void onClick(View v) {
				//生成一个Intent对象
				Intent intent = new Intent();
				
				//在intent对象里加了一个键值对
				intent.putExtra("testIntent", "1233");
				
				//Intent.setClass(Context packageContext, Class<?> cls)
				//Intent.setClass(从哪个Activity跳转, 跳转到哪去)
				intent.setClass(getApplicationContext(), OtherActivity.class);
				MainActivity.this.startActivity(intent);
			}
			
		}
	}

这样MainActivity就可以跳转到OtherActivity中了


使用Intent发送消息:
Uri uri = Uri.parse("smsto://0800000123");
Intent itent = new Intent(Intent.ACTION_SENDTO,uri);
intent.putExtra("sms_body","The SMS text");
startActivity(intent);


操作如下:
<span style="white-space:pre">	</span>public class MainActivity extends Activity {


		private Button smsButton = null;
		
		@Override
		protected void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.activity_main);
			
			smsButton = (Button) findViewById(R.id.sms);
			smsButton.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					Uri uri = Uri.parse("smsto://0800000123");
					Intent intent = new Intent(Intent.ACTION_SENDTO,uri);
					intent.putExtra("sms_body","The SMS text");
					startActivity(intent);
				}
			});
		}
	}


点击了那个smsButton,就可以跳转到系统的发消息的Activity

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值