初识Intent
Intent对象的属性
component name//设置Intent对象的组件名称
component name//设置Intent对象的组件名称
setComponent();//用来启动另一个activity
ComponentName componentName=new ComponentName(“com.mingrisoft”,“com.mingrisoft.DetailActivity”);//创建componentName对象,要指定两个参数,一个是包名,一个是要启动组件的类名(包名.类名)
intent.setComponent(componentName);//设置component对象
startActivity(intent);//启动activity
active属性可在api文档中查找
ACTION_VIEW//指定数据给用户
ACTION_CALL//指定给某人拨打电话的
ACTION_SENDTO//指定给某人发短信的
ImageButton imageButton=(ImageButton)v;//把onClick传递的v参数转化为图片按钮
imageButton.getId()//获取组件的id
switch(imageButton.getId()){}//判断单击了哪个按钮
case R.id.imageButton_phone//如果单击了拨打电话的按钮
intent.ACTION_DIAL//调用拨号面板
intent.setAction(intent.ACTION_DIAL)//设置action属性,拨打电话
intent.setData(Uri.parse(“tel:18760634953”));//设置Data属性,设置拨打的电话号码,要导入Uri类
startActivity(intent);//启动activity
break://跳出判断
intent.setAction(intent.ACTION_SENDTO)//设置action属性,发送短信
intent.setData(Uri.parse(“smsto:18760634953”));//设置Data属性,设置发送短信的电话号码,要导入Uri类
intent.putExtra(“sms_body”,“Welcome to Android”)//设置默认要发送的短信内容,第二个参数就是要发送的内容
如果多个按钮要设置监听器,可以设置一个监听器对象,在监听器对象中编写内容,然后再设置按钮对应的监听器对象
imageButton.setOnClickListener(l);//设置图像按钮对应的监听器,l是监听器的对象
<uses-permission android:name="android.permission.CALL_PHONE"/>
在左侧manifests-AndroidManifest.xml开启允许拨打电话的功能
<uses-permission android:name="android.permission.SEND_SMS"/>
在左侧manifests-AndroidManifest.xml开启允许发送短信的功能
Action和Catrgory
可在api文档中查找intent属性
CATEGORY_DEFAULT//把指定的activity作为执行数据的默认动作
CATRGORY_LAUNCHER//指定把activity作为应用程序的入口
GATEGORY_HOME//返回系统桌面
finish();只能一级一级的返回,直接销毁activity
intent.setAction(intent.ACTION_MAIN);//作为初始的activity进行启动
intent.addCategory(intent.CATEGORY_HOME);//设置Category属性,参数是返回桌面
startActivity(intent);//启动intent
Extras属性
添加附加信息,以键值对的形式进行保存
putExtras();//通过bundle保存附加信息
getExtras();//获取bundle保存的信息
Flags属性
指示安卓程序要如何启动另一个activity
task指示程序启动如何处理
在api中可找到flag的属性
默认启动另一个activity的方法
intent.setFlags(intent.FLAG_ACTIVITY_NO_HISTORY);//让activity不在历史栈保留,用户一旦离开应用,activity就自动关闭
Intent种类
①显式Intent
②隐式Intent
创建Intent对象的语法格式如下:Intent intent=new Intent(Context packageContext,Class<?>cls);
*'第一个参数是上下文对象,也可以用MainActivity.this来指定,第二个参数就是要启动的activity类
Intent过滤器
经验
在线压缩图片大小:https://www.picdiet.com/zh-cn