android 的Intent的使用样例

Intent:意图

jdk的解释是:An intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, broadcastIntent to send it to any interested BroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background Service.

 

1,打电话:需要在manifest.xml中添加权限
</application>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
   

//在监听器中添加如下代码
public void onClick(View v) {
   // TODO Auto-generated method stub
   Intent intent=new Intent();
   intent.setAction(Intent.ACTION_CALL);
   intent.setData(Uri.parse("tel:110"));
   startActivity(intent);
  }

 

2发送短信:
同上在manifest.xml中添加权限
<uses-permission
     android:name="android.permission.SEND_SMS"
     />

 
 //发送短信
   intent.setAction(Intent.ACTION_SENDTO);
   intent.setData(Uri.parse("smsto:110"));
   intent.putExtra("sms_boy", "你好android");
   startActivity(intent);


3唤起另一个activity
                1新的activity 仍然需要继承activity类实现Oncreate方法并调用 setContentView

              (R.layout.second);显示界面
                2新增secon.xml文件配置第二activity的界面
               3在manifest.xml中配置新建的第二哥activity

 


3.传递参数到第二个界面
intent.putExtra("second", "第一个界面传递过了的");
intent.setClass(TetIntentActivity.this, SecondActivity.class);
startActivity(intent);
在第二个activity使用Intetn.get

 


4.从第二个界面返回参数到第一个界面并关闭第二界面

 


那么开启intent就使用另一个函数
public   static  int  FIRST=1;//在第一个activity里定义一个静态常量量用以区分其他的传

         递的值,这个静态常量就是指的startActivityForResult(intent,requestCode)里的

        requestCode
        startActivityForResult(intent,FIRST);


//第一个activity本身具有的方法onActivityResult需要重载,因为其他默认会调用这个方法接

收所有到达这个activity的结果
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  
  if (requestCode==FIRST) {//发出的请求是否是本界面的
   //resultCode就是第二个界面定义的那个常量;对比是否接收到
   if (resultCode==SecondActivity.SECOND) {
    Bundle  bundle=data.getExtras();
    Toast.makeText(TetIntentActivity.this,

bundle.getString("back"), Toast.LENGTH_LONG).show();
   }
  }
 }
}

 //第二个界面的监听信息
public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent=new Intent();
       
    //界面的跳转
    intent.putExtra("back", "第二个界面返回值");
    /***
     * void setResult (int resultCode, Intent data)
     * The result code to propagate back to the

originating activity, often RESULT_CANCELED or RESULT_OK
     * **/
    setResult(SECOND,intent);//设置返回结果的intent 
    finish();//结束这个activity
   }

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值