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 theoriginating activity, often RESULT_CANCELED or RESULT_OK
* **/
setResult(SECOND,intent);//设置返回结果的intent
finish();//结束这个activity
}