首页 > 其他 > 详细

Intent 中重要方法:setAction()、setData()、setType()、putExtra()

时间:2017-03-14 22:36:42      阅读:964      评论:0      收藏:0      [点我收藏+]

Intent大致分为两种:显式Intent和隐式Intent。

一、显示Intent为从一个activity跳转到另一个activity。如:

 

Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);

二、隐式Intent它不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息来过滤,找到符合条件的Activity。

1.setAction():表明我们想要启动能够响应设置的这个action的活动,并在清单文件AndroidManifest.xml中设置action属性。如:(打开一个拨号界面)

Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
startActivity(intent);
/**
 * 以上代码也可以直接写为:
 * Intent intent = new Intent(Intent.ACTION_DIAL);
 * startActivity(intent);
 */
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <action android:name="android.intent.action.DIAL"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

结果:打开一个拨号界面

?技术分享?

2.setData():通常是URI格式定义的操作数据。(只要设置setAction ()就要在清单文件AndroidManifest.xml中设置action属性)例如:tel:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
/**
 * 以上代码也可以直接写为:
 * Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:10086"));
 * startActivity(intent);
 */
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <action android:name="android.intent.action.DIAL"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

结果如图:

技术分享

3.setType():指定数据类型,选出适合的应用来。(只要设置setAction ()就要在清单文件AndroidManifest.xml中设置action属性)例如:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
startActivity(intent);
/**
 * 以上代码也可以直接写为:
 * Intent intent = new Intent(Intent.ACTION_SEND);
 * intent.setType("text/plain");
 * startActivity(intent);
 */
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <action android:name="android.intent.action.SEND"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

结果如图:

技术分享

4.putExtra():把要传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了。

文章来自个人博客:Intent 中重要方法:setAction()、setData()、setType()、putExtra()

 

Intent 中重要方法:setAction()、setData()、setType()、putExtra()

原文:http://www.cnblogs.com/shuiyin/p/6550999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!