Android回顾/Intent的使用

匿名 (未验证) 提交于 2019-12-03 00:22:01

Intent 是Android程序中各个组件之间进行交互的重要方式之一,它既可以在当前Activity中指定想要完成的动作,还可以在不同组件间进行数据传递。Intent可分为两种,显示Intent和隐式Intent。
1.显示Intent
Intent有多个构造函数,其中一个Intent的构造方法Intent(Context pageContext,Class

  setContentView(R.layout.activity_first);         button.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 Intent intent=new Intent(FirstActivity.this,SecondActivity.class);                 startActivity(intent);             }         });     } } 

首先构造了一个Intent(显示Intent),传入FirstActivity.this作为上下文,SecondActivity.class作为目标活动,这样我们就明确了我们的意图,即在FirstActivity这个活动中通过点击mybutton按钮打开SecondActivity这个活动。然后通过Activity类的startActivity()方法来执行该意图操作。startActivity()方法是Activity类中提供的,专门用于启动活动的方法,它接收一个Intent对象。在上例中我们将构建好的意图对象传入该方法就可以启动目标活动。
2.隐式Intent
与显式Intent相比隐式Intent是一种比较含蓄的Intent。它不指定要启动哪个活动,而是通过配置一些相关信息如:action,category等信息,然后交给系统去分析并找出合适的活动去启动。
Action:用来指明要实施的动作是什么,比如说ACTION_VIEW, ACTION_EDIT等。具体的可以查阅android SDK-> reference中的Android.content.intent类,里面的constants中定义了所有的action。
一些常用的Action:
ACTION_CALL 启动一个电话.
ACTION_EDIT 显示用户编辑的数据.
ACTION_MAIN 作为Task中第一个Activity启动
ACTION_SYNC 同步手机与数据服务器上的数据.
ACTION_BATTERY_LOW 电池电量过低警告.
ACTION_HEADSET_PLUG 插拔耳机警告
ACTION_SCREEN_ON 屏幕变亮警告.
ACTION_TIMEZONE_CHANGED 改变时区警告.
Category:一个字符串,包含了关于处理该intent的组件的种类的信息。一个intent对象可以有任意个category。intent类定义了许多category常数.
addCategory()方法为一个intent对象增加一个category,
removeCategory删除一个category,
getCategories()获取intent所有的category.
修改FirstActivity中的按钮点击事件,

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!