您的位置:首页 > 移动开发 > Android开发

Android学习整理-Intent整理

2013-05-05 00:07 239 查看

Intent

Intent打电话:

intent.setAction(intent.ACTION_CALL);//类型
intent.setData(Uri.parse("tel:679944"));//679944是电话号码
startActivity(intent);

Intent发短信:

intent.setAction(intent.ACTION_SENDTO);//类型
intent.setData(Uri.parse("smsto:679944"));//679944是电话号码
intent.putExtra("sms_body", string);//string是短信内容,string类型
startActivity(intent);

Intent调用其他Activity:

//记得在AndroidManifest.xml中声明新的Activity类

1.普通调用

Intent intent=new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);//SencondActivity是继承Activity类,这样就可以从MainActivity转到SecondAtivity...记得要用SecondActivity.class,我也不知道为什么
startActivity(intent);

2.带传值调用

//MainAtivity中的代码
Intent intent=new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
intent.putExtra("abc", "哇!!原来喺咁样传值嘎!!");//这句是重点啊!!!要传什么值就写多少句这个
startActivity(intent);

//SecondAtivity中的代码
Intent intent2 = getIntent();//getIntent()<->Return the intent that started this activity.
Bundle bundle = intent2.getExtras();//在MainAtivity那里是put,这里就是get,因为返回类型只有Bundle
String string = bundle.getString("abc");//abc是key,输入可取出对应数值,key有点像变量名
Toast.makeText(SecondActivity.this, string, 0).show();//这个相当于java的弹出框


3.得到调用的Activity返回的值

//MainAtivity中的代码
Intent intent=new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
intent.putExtra("abc", "哇!!原来喺咁样传值嘎!!");
startActivityForResult(intent, REQUEST_FIRST);//这句是重点啊!!!这个方法说明会让调用的Activity结束后会调用onActivityResult(),这个方法返回对应的requestCode,resultCode,Intent,可以利用requestcode和resultcode确定执行对应的动作
//REQUEST_FIRST是一个int值,可以在类中设为静态常来,方便阅读
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_FIRST && resultCode == SecondActivity.RESULT_FIRST)
{
String string = ((Bundle) data.getExtras()).getString("back");
Toast.makeText(MainActivity.this, string, Toast.LENGTH_SHORT).show();
}
}//这个需要重写
//这个方法的requestCode,resultCode,Intent参数,可以利用requestcode和resultcode确定执行对应的动作,因为通常一个activity中包含多个按钮
//SecondActivity中的代码
/*Ps:要注意重写返回键代码,因为在secondactivity结束后,mainactivity会调用onActivityResult(),其中有行代码是根据个key "back"来得到secondactivity的数据,返回键没有设置的话,会直接down掉,所以要重写,这个要注意 或者可以对requestcode进行判断也可以 推荐后者*/ Intent intent = new Intent();
intent.putExtra("back", "睇来真喺可以返来窝");
setResult(RESULT_FIRST, intent);//这个是重点!!RESULT_FIRST是一个int值,可以在类中设为静态常来,方便阅读
finish();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: