<p>Intent大致分为两种:显式Intent和隐式Intent。</p><p>一、显示Intent为从一个activity跳转到另一个activity。如:</p><pre class="brush:java;toolbar:false">Intentintent=newIntent(MainActivity.this,SecondActivity.class);
startActivity(intent);</pre><p>二、隐式Intent它不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息来过滤,找到符合条件的Activity。</p><p>1.setAction():表明我们想要启动能够响应设置的这个action的活动,并在清单文件AndroidManifest.xml中设置action属性。如:(打开一个拨号界面)</p><pre class="brush:java;toolbar:false">Intentintent=newIntent();
intent.setAction(Intent.ACTION_DIAL);
startActivity(intent);
/**
*以上代码也可以直接写为:
*Intentintent=newIntent(Intent.ACTION_DIAL);
*startActivity(intent);
*/
<activityandroid:name=".MainActivity">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<actionandroid:name="android.intent.action.DIAL"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity></pre><p>结果:打开一个拨号界面</p><p></p><p>2.setData():通常是URI格式定义的操作数据。(只要设置setAction ()就要在清单文件AndroidManifest.xml中设置action属性)例如:tel:</p><pre class="brush:java;toolbar:false">Intentintent=newIntent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
/**
*以上代码也可以直接写为:
*Intentintent=newIntent(Intent.ACTION_DIAL,Uri.parse("tel:10086"));
*startActivity(intent);
*/
<activityandroid:name=".MainActivity">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<actionandroid:name="android.intent.action.DIAL"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity></pre><p>3.setType():指定数据类型,选出适合的应用来。(只要设置setAction ()就要在清单文件AndroidManifest.xml中设置action属性)例如:</p><pre class="brush:bash;toolbar:false">Intentintent=newIntent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
startActivity(intent);
/**
*以上代码也可以直接写为:
*Intentintent=newIntent(Intent.ACTION_SEND);
*intent.setType("text/plain");
*startActivity(intent);
*/
<activityandroid:name=".MainActivity">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<actionandroid:name="android.intent.action.SEND"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity></pre><p>4.putExtra():把要传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了。</p>