Intent在Activity间的传值
是以键值对的形式存取的
存值
@Override public void onClick(View v) { // 生成Intent对象(包含了ctivity间传的Data,param);相当于一个请求 Intent intent = new Intent(); // 键值对 intent.putExtra( " extra " , " archie2010 " ); // 从此ctivity传到另一Activity intent.setClass(OneActivity. this , OtherActivity. class ); // 启动另一个Activity OneActivity. this .startActivity(intent);
取值
@Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); // 设置当前ctivity布局 setContentView(R.layout.other); // 获得从上一个Activity传来的intent对象 Intent intent = getIntent(); String stringValue = intent.getStringExtra( " extra " ); myTextView = (TextView) findViewById(R.id.myTextView); // 设置TextView显示的值(引用String的配置文件) // myTextView.setText(R.string.other); // 从上个Activity传过来的值 myTextView.setText(stringValue); }

Intent在两个Activity传递时,这两个Activity可不在同一应用程序下
如在一个Activity中使用Android自带的发送消息的Activity
@Override public void onClick(View v) { // 启动Android发短信的Activity // Intent在两Activity传递,Activity可不在同一应用程序下 Uri uri = Uri.parse( " smsto:1561893432* " ); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra( " sms " , " sms Content " ); startActivity(intent); }