Android中显式意图和隐式意图的区别


1.显式意图
可以直接通过名称开启指定的目标组件:
通过构造方法Intent(Context packageContext,class<?>cls)来实现。
 button_1 = (Button) findViewById(R.id.button_1);
    button_1.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View view) {
           // finish();
            //显示意图
            Intent intent = new Intent(MainActivity.this,SecondActivity.class);
            startActivity(intent);
        }
    });
}

 


2.隐式意图
比较抽象,它并没有明确的指定要开启哪个目标组件,而是通过指定action和category等属性信息,系统根据这些信息进行分析,然后寻找目标Activity
  添加一个category,需要在注册文件中加一行代码
  @Override
            public void onClick(View view) {
              
                //隐式意图
                Intent intent = new Intent("com.example.activitytest.ACTION_START");
                //添加一个category,需要在注册文件中加一行代码
                // <category android:name="com.example.activitytest.MY_CAT  EGORY"/>
                startActivity(intent);
                intent.addCategory("com.example.activitytest.MY_CATEGORY");
            }
        });
    }

 



//隐式意图更多用法
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);

 
















































































































































免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM