Android基础05

  1. intent的显示用法
  2. intent的隐式用法
  3. 向上一个活动返回数据
    intent的显示用法:
  4. 新建一个intent,
  5. 指定来源和去向
  6. 开始intent
//显示intent,两参数指明intent的来源和目的地
                Intent intent = new Intent(getApplicationContext(),SecondActivity.class);
                startActivity(intent);

intent的隐式用法

  1. 在AndroidManifest.xml文件intent到达目的地中指定action
<activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="com.example.bbw.intentdemo.SecondActivity.INTENT_DEMO"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
  1. 新建一个intent,参数就是刚设置的action的名字
//隐式Intent指定了action,在androidManifest.xml定义
//Intent intent = new Intent("com.example.bbw.intentdemo.SecondActivity.INTENT_DEMO") ;
//startActivity(intent);
  1. intent的其他隐式用法
               //隐式用法打开网页
//                Intent intent = new Intent(Intent.ACTION_VIEW);
//                intent.setData(Uri.parse("http://www.baidu.com"));
                //隐式用法拨打电话
//                if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
//                    ActivityCompat.requestPermissions(SecondActivity.this,new String[]{Manifest.permission.CALL_PHONE},1);
//                }else{
//                    Intent intent = new Intent(Intent.ACTION_CALL);
//                    intent.setData(Uri.parse("tel:10086"));
//                    startActivity(intent);
//                }

向上一个活动传递数据

 Intent intent = new Intent(getApplicationContext(),SecondActivity.class);
                startActivityForResult(intent,1);//1为requestCode,作用是启动SecondActivity

接收到intent的活动,填充数据,并返回处理结果,最后结束自己。

 //向上一个活动传递数据
                Intent intent = new Intent();
                intent.putExtra("DATA_RETURN","something return");
                setResult(RESULT_OK,intent);//result_ok为result_code返回处理结果
                finish();

发起intent的活动,回调函数 onActivityResult

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode){
            case 1:
                if (resultCode == RESULT_OK){
                    String returnData = data.getStringExtra("DATA_RETURN");
                    Log.d("FirstAvticity",returnData);
                }
                break;
            default:
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,852评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,900评论 25 709
  • 作为Android的四大组件之一,活动最先走进我们的视野,其重要性不言而喻,今天就抽出时间来专门对Android活...
    loser先生阅读 4,724评论 0 0
  • 时光荏苒,我与他再见已经是五六年后的事情。 还仍然清晰记得上次分别的场景,他酒后茬架被公安带走。而我则是在去做笔录...
    远观阅读 3,462评论 3 1
  • 今天终于结束了那个比赛(:зゝ∠),心累的感觉。 结束完和倩倩和雪艺出去大吃大喝了,恩,味道不错,好吃~~(¯﹃¯...
    Courage_CYY阅读 1,547评论 0 0