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);

 















































































































































posted @ 2019-03-19 22:58  peifengyang  阅读(1389)  评论(1编辑  收藏  举报