ndroid学习之Intent使用

 

1、使用显示Intent

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);

startActivity(intent);

上述代码的作用是打开活动SecondActivity

2、使用隐式Intent

首先打开AndroidManifest.xml,添加代码:

<activity
android:name="com.example.activitytest.SecondActivity"
android:label="@string/title_activity_second" >
<intent-filter>
<action android:name="com.example.activitytest.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.example.activitytest.MY_CATEGORY" />
</intent-filter>
</activity>

然后修改FirstActivity中按钮的点击事件:

btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent("com.example.activitytest.ACTION_START");

intent.addCategory("com.example.activitytest.MY_CATEGORY");

startActivity(intent);
}
});

还可以使用隐式Intent,启动其他程序的活动。

Intent intent=new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.cnblogs.com/zhouhb/"));
//Intent intent=new Intent(Intent.ACTION_DIAL);
//intent.setData(Uri.parse("tel:12345"));

3、使用Intent在Activity之间传递数据

3.1 从FirstActivity向SecondActivity传递数据

String s="from first";
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("data", s);
startActivityForResult(intent, 1);

3.2 SecondActivity接收传递来的数据

Button btn=(Button)findViewById(R.id.button2);
Intent intent=getIntent();
String string=intent.getStringExtra("data");
btn.setText(string);

3.3 SecondActivity向FirstActivity返回数据

btn.setOnClickListener(new OnClickListener() { 
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
returnData();
}
});

private void returnData() {
Intent intent=new Intent();
intent.putExtra("returnData", "from Second");
setResult(RESULT_OK,intent);
finish();
}

//如果用户不是通过点击按钮,而是按下Back键回到FirstActivity,则重写 onBackPressed

public void onBackPressed() {
// TODO Auto-generated method stub
returnData();
}

3.4 在FirstActivity中重写onActivityResult得到SecondActivity返回的数据

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
switch (requestCode) {
  case 1:
    if(resultCode==RESULT_OK){
      String string=data.getStringExtra("returnData");
      Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
    }
    break;

  default:
  break;
  }
}

拣尽寒枝不肯栖,寂寞沙洲。
 
分类: Android
标签: AndroidIntent
好文要顶 关注我 收藏该文  
1
0
 
 
 
posted @ 2014-12-17 19:06 zhouhb 阅读(16663) 评论(0)  编辑 收藏
 
 
发表评论

昵称:

评论内容:
     
 

退出 订阅评论

 

[Ctrl+Enter快捷键提交]

 
 
 
 

最新文章

  1. iOS 之消息推送(个推)---个人小结
  2. 关于Redis info的参数总结
  3. [HDOJ5791]Two(DP)
  4. SVN中取消冲突conflict
  5. js 多物体运动
  6. hibernate--持久对象的生命周期介绍
  7. U盘制作Linux系统盘
  8. scanf 和cin 的区别
  9. Python快捷键
  10. hdu_5873_Football Games(xjb搞)
  11. linux网口绑定笔记-bind
  12. jmeter(二十一)jmeter常用插件介绍
  13. Unity进阶----AssetBundle_02(加载依赖关系及网络资源)(2018/10/31)
  14. Movavi Video Editor 15 Plus(视频编辑软件) 中文版
  15. SpringBoot2.0应用(五):SpringBoot2.0整合MyBatis
  16. MySQL中 如何查询表名中包含某字段的表
  17. DEDE 首页调用指定栏目链接的代码
  18. 网络编程之IO模型
  19. navicat的安装
  20. python可视化爬虫实现“京东试用”批量申请

热门文章

  1. windows上上传代码到Github
  2. week5_notebooke1
  3. Function 和 eval 知识点总结
  4. Spinner与适配器模式总结
  5. [原创]c语言中const与指针的用法
  6. quartz定时任务框架调度机制解析
  7. 阿里logo库
  8. java中静态,抽象,接口,继承总结
  9. idea编写Swing程序中文乱码的解决办法
  10. hdu 1693 插头dp入门