我是iOS 转Android 的,做一些自己的学习记录.

Intent

Intent 有很多的作用,由于初次尝试Android,暂时知道Intent可以用于界面之前的切换就ok了。

显示Intent

//初始化Intent, 表示从FirstActivity 到 SecondActivityIntent intent = new Intent(FirstActivity.this,SecondActivity.class); //执行 intent实例startActivity(intent); //若要返回上一个类,可点击右上角back。或者手动代码 finish();销毁当前activity

隐式Intent

//在AndroidManifest.xml中添加                        
//当action 和 category同时匹配成功才能启动下一个activity,这里能调用时因为有android.intent.category.DEFAULT默认categoryIntent intent = new Intent("com.example.activitytest.ACTION_START");//这样调用category需要在AndroidManifest.xml中添加 //Intent.addCategory("com.example.activitytest.My_CATEGORY");startActivity(intent);
调用系统浏览器
//intent的action是Intent.ACTION_VIEWIntent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);

新建一个ThirdActivity

                                                                                     //intent 响应data 标签中满足http协议的activity,这样执行上面调用浏览器intent 就会出现选择列表                    
打电话
Intent intent = new Intent(Intent.ACTION_DIAL);intent.setData(Uri.parse("tel:10086"));startActivity(intent);

向下一个activity传递数据

//FirstActivity String data = "Hello SecondActivity";Intent intent = new Intent(FirstActivity.this,SecondActivity.class);intent.putExtra("extra_data",data);//extra_data 是键,data是要传递的值,这里data是字符串startActivity(intent);
//SecondActivity中获取值Intent intent = getIntent();String data = intent.getStringExtra("extra_data");//获取传过来的值Log.v("SecondActivity",data);//打印

返回数据给上一个活动

//FirstActivityIntent intent = new Intent(FirstActivity.this, SecondActivity.class);startActivityForResult(intent,1);
//SecondActivityIntent intent = new Intent();intent.putExtra("data_return","Hello First");//putExtra(键,值)setResult(RESULT_OK,intent);finish();
//FirstActivity 重写onActivityResult 来接收数据@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        switch (requestCode) {            case 1:                if (resultCode == RESULT_OK) {                    String returnData = data.getStringExtra("data_return");                    Log.v("FirstActivity", returnData);                }        }    }
//SecondActivity 通过back键回到FirstActivity    @Override    public void onBackPressed() {        super.onBackPressed();        Intent intent = new Intent();        intent.putExtra("data_return","Hello First");        setResult(RESULT_OK,intent);        finish();    }//通过左上actionBar 返回按钮    @Override    public boolean onOptionsItemSelected(MenuItem item) {        if (item.getItemId() == android.R.id.home) {               }        return super.onOptionsItemSelected(item);    }

更多相关文章

  1. Android数据库 之 SQLite数据库
  2. android Tether 分析
  3. android Toolbar的使用结合状态栏与返回键
  4. Android(安卓)recyclerview更新item位置移动
  5. Android音频系统之四AudioPolicy
  6. Android(安卓)使用WebView
  7. App 启动页出现短暂闪屏的解决方案
  8. 在SQLite数据库中获取新插入数据自增长的ID值(传智播客笔记)
  9. mybatisplus的坑 insert标签insert into select无参数问题的解决

随机推荐

  1. 用Qt制作的Android独立游戏《吃药了》发
  2. Android(安卓)RadioGroup单选框变成多选
  3. 生活中android应用开发有很广阔的天地
  4. 如何完全退出单例模式下的android应用程
  5. android 长连接的心跳及推送机制
  6. gradle教程 [原创](eclipse/ADT下 非插件
  7. Android(安卓)UI设计之使用HTML标签,实现
  8. android的轮播图Banner之本地加载和网络
  9. Android重力感应器入门介绍
  10. Android课程表架构简要分析