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();
相关文章推荐
- 优秀Android博客大全,整理了国内外大神博客/Github地址,是学习Android进阶的首选[转]
- Android Activity和Intent机制学习笔记
- Android 学习笔记整理2 2011.4.2
- (学习笔记) Android Intent相关
- lua学习笔记 1 android 调用Lua, Lua脚本中启动Intent
- android学习————项目导入常见错误整理(转载)
- Android Activity和Intent机制学习笔记
- Android学习之 面试资料整理[1]
- 自己整理的android学习网站~持续更新
- Android Activity和Intent机制学习笔记
- Android日常整理(三)---intent打开浏览器、软键盘弹出
- Android开发学习笔记(4):浅谈显示Intent和隐式Intent
- Android开发学习笔记:Intent的简介以及属性的详解
- android学习五 Intent
- Android 之IntentService学习
- Android Intent 使用整理
- Android Activity和Intent机制学习笔记
- android startActivityForResult(Intent intent, int requestCode) 整理与总结!
- Android Service学习之IntentService 深入分析(附码源分析)
- 一些以前学习的Android知识的整理(3)