1.值由A.class传递到B.class A.class中:
B.class中:
Intent intent = getIntent(); //获取数据 String username = intent.getStringExtra("username1"); String userpwd = intent.getStringExtra("userpwd1"); /* Bundle data = intent.getExtras(); String username = intent.getString("username1"); String userpwd = intent.getString("userpwd1"); */
2.除了A.class可以向B.class传值外,B.class也可以返回值
A.class中
this.startActivity(intent);
改为this.startActivityFroResult(intent,1);//1为请求码
B.class中
对传过来的intent对象赋新值
A.class中重写
@Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ super.onActivityResult(requestCode,resultCode,data); if(resultCode==1) { //可从data中取出值 } }
A.class中取出B.class中intent传过来的值
3.intent.setClass(A.this,B.class)的另一种写法
在manifest.xml中B的Activity中加入
//这里可以随便写
那么A中就可以直接写
intent.setAction("com.showB");
来代替
intent.setClass(A.this,B.class);
这也就提示了我们利用intent-filter可以实现其他很多功能
程序中调用其它程序的Activity
1 | Intent intent = new Intent(Intent.ACTION_MAIN); |
2 | ComponentName componentName = new ComponentName( "com.android.settings" , "com.android.settings.WirelessSettings" ); |
3 | intent.setComponent(componentName); |
4 | |
5 | startActivity(intent); |