Intent意爲:意圖。簡單的理解就是用來從一個Activity/Service跳轉到另外一個Activity/Service中,並能夠攜帶數據,也能夠在這個程序調用別的程序。這樣咱們雖然不懂如何結息條形碼,卻能夠經過開放的android平臺,在咱們的程序調用專家寫好的程序來實現功能。android
Intent的用法:工具
(1)從MainActivity跳轉到NewActivity測試
Intent intent=new Intent(MainActivity,this,NewActivity.this);this
startAcitivity(intent);spa
(2)從MainActivity跳轉到NewActivity,並攜帶數據ci
有兩種寫法,本質上並沒有很大區別get
Intent intent=new Intent(MainActivity,this,NewActivity.this);it
Bundle bundle=new Bundle();ast
bundle.putString("name", "value");class
intent.putExtras(bundle);
startAcitivity(intent);
接收
mintent=this.getIntent();
bundle=mintent.getExtras();
String a=bundle.getString("name");
---------------------------------------------------------------------------------
Intent intent=new Intent(MainActivity,this,NewActivity.this);
intent.putExtra("name","value");
startAcitivity(intent);
接收
String a=mintent.getStringExtra("name");
第一種方法當bundle的值要傳給多個activity時較爲簡便。
(3)從MainActivity跳轉到NewActivity,並攜帶數據,而且要從NewActivity跳轉回MainActivity且攜帶數據。
Intent intent=new Intent(MainActivity.this,NewActivity.class);
Bundle bundle=new Bundle();
bundle.putString("name","value");
intent.putExtras(bundle);
startActivityForResult(intent,1234);
protected void onActivityResult(int requestCode,int resultCode,Intent data)
{
if (resultCode==4321)
{
String a=data.getStringExtra("name");
Toast.makeText(this, a, Toast.LENGTH_LONG).show();;
}
super.onActivityResult(requestCode, resultCode, data);
}
//請求碼requestCode=1234
mintent.putExtra("name", "你好");
setResult(4321, mintent);
finish();
//結果碼result=4321
//程序例子A調用程序例子B
intent.setClassName("com.example.lizib", "com.example.lizib.MainActivity");
Bundle bundle=new Bundle();
bundle.putString("STR_INPUT", "HI,我來自例子A...");
intent.putExtras(bundle);
startActivityForResult(intent, 1234);
protected void onActivityResult(int requestCode,int resultCode,Intent data)
{
if (resultCode!=RESULT_OK)
{
return;
}
else
{
String aaa=data.getStringExtra("STR_BACK");
tv.setText("來自例子B:"+aaa);
}
super.onActivityResult(requestCode, resultCode, data);
}
//接收
Bundle bundle=getIntent().getExtras();
strRet=bundle.getString("STR_INPUT");
//返回
Bundle bundle=new Bundle();
bundle.putString("STR_BACK", "我是例子B");
Intent intent=new Intent();
intent.putExtras(bundle);
setResult(RESULT_OK,intent);
finish();
另外推薦一款我經常使用第三方APP測試工具:www.ineice.com