Android中Intent基本使用

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

  • 1
    点赞
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值