您的位置:首页 > 其它

Intent的用法——活动之间跳转

2016-12-02 16:30 204 查看
     Intent是Android程序中各组件之间进行交互的一种重要方式,一般用于活动之间的跳转,启动服务,发送广播等,不仅可以指明当前的组件想要执行的任务,还可以在不同的组件之间传递数据。

     Intent用于活动挑中有两种用法:显式和隐式。

     Intent显式用法很简单,建立两个或多个Activity,在需要点击跳转的组件下写入逻辑:

  

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


这里假设从MainActivity跳转至SencondActivity。

     Intent隐式用法需要在待打开的页面配置下写入<intent-filter>,指定当前相应的action和category:

<intent-filter>
<action android:name="目录.ACTION_START"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>


在进行跳转时,只需要将action写入新建Intent实例中:

Intent intent=new Intent("目录.ACTION_START");
startActivity(intent);
category.DEFAULT是一种默认的category,在调用startActivity时已经添加,但是一个Intent中只能有一个action却可以有多个category,配置了其他category后要在intent实例中写出来。

     Intent的隐式用法还可以打开安卓系统中的其他应用程序,只需要调用setData()方法并传入Uri对象,例如:
Intent intent=new Intent(Intent.ACTION_DIAL);
intent.setData(tel:10086);
startActivity(intent);

并且在AndroidManifest.xml文件中进行配置:

<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFALUT"/>
<data android:scheme="tel"/>
</intent-filter>
</activity>



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息