当前位置:   article > 正文

Android Intent意图的常用使用方法_intent意图怎么用

intent意图怎么用

一个intent就是对将要执行的操作的抽象描述,程序跳转和参数的传递都需要intent

android的核心应用和灵魂

Intent可以给按钮添加联系其他应用的内容比如,单击按钮直接拨打电话,单击按钮发送短息等等,但是这些功能需在manifest里边注册需求。

拨打电话

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:18292651821"));

发送短息:

intent.setAction(Intent.ACTION_SENDTO);

intent.setData(Uri.parse("smsto:5554"));

intent.putExtra("sms_body", "I'm HuBaoquan1");

 

 

启动另一个activity

注意一个布局文件都有一个对应的activity类管理,所以创建第二个界面时要同时创建布局文件xml和管理布局文件的类java,并且新的activity类要在manifest中申明activity

<activity

android:name="com.hbq.intentdemo.SecondActivity"

android:label="second" >

>

//主(mainactivity)界面下启动secondactivity

intent.setClass(MainActivity.this, SecondActivity.class); 

startActivity(intent);//启动activity意图

给被启动的activity传递参数

//向将要启动的界面传递参数,key值为str,数据为"To SecondActivity data!"

intent.putExtra("str", "To SecondActivity data!"); 

被启动的activity接收数据:

//接收数据时需新建intent对象,获得intent

Intent intent = getIntent();

//通过intent.getExtras()返回bundle对象

Bundle bundle = intent.getExtras();

//通过bundle对象和key值获得传递进来的数据 

String string = bundle.getString("str"); 

 

返回数据给启动它的activity:

//同样要通过intent对象

Intent intent = new Intent();

//设置要返回的key值和数据

intent.putExtra("back", "back data");

//启用返回的intent

setResult(RESULT_CODE, intent);

//销毁当前activity

finish();

在主activity中还要重写onActivityResultint requestCode, int resultCode, Intent data)方法接收返回的数据,还要比较返回码和请求码:

  1. if (requestCode == REQUEST_CODE )
  2. {
  3. if( resultCode == SecondActivity.RESULT_CODE)
  4. {
  5. Bundle bundle = data.getExtras();
  6. String string = bundle.getString("back");
  7. Toast.makeText(MainActivity.this, string, Toast.LENGTH_LONG).show();
  8. }
  9. }


注意在数据传递的过程中需要设定请求码,和返回码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/236079
推荐阅读
相关标签
  

闽ICP备14008679号