Activity之Intent七大属性

时间:2021-09-25 16:29:11
<span style="font-size:18px;">1、ConponentName </span>
**
     * 使用ComponentName跳转
     */
     private void initComponentName() {
          btnComponentName = (Button) findViewById(R.id.btn_component_name);
          btnComponentName.setOnClickListener(new OnClickListener() {
               @Override
               public void onClick(View v) {
                    Intent intent = new Intent();
                    ComponentName component = new ComponentName(IntentActivity.this, ComponentNameActivity.class);
                    intent.setComponent(component);
                    startActivity(intent);
               }
          });
     }
    
<span style="font-size:18px;">2、Acition</span>
/**
     * 使用Action跳转
     */
     private void initAction() {
          btnAction = (Button) findViewById(R.id.btn_action);
          btnAction.setOnClickListener(new OnClickListener() {
               @Override
               public void onClick(View v) {
                    Intent intent = new Intent();
                    intent.setAction(CommonAction.ACTION_ACTION);
                    startActivity(intent);
               }
          });
     }


<span style="font-size:18px;">3、Category:附加信息,通常和Action一起用 </span>

<span style="font-size:18px;">4、Data   通常用于向Action属性提供操作的数据、Data属性接受一个URI对象</span>
     /**
     * 使用DataAndType跳转
     */
     private void initData() {
          btnData = (Button) findViewById(R.id.btn_data);
          btnData.setOnClickListener(new OnClickListener() {
               @Override
               public void onClick(View v) {
                    Intent intent = new Intent();
                    intent.setDataAndType(Uri.parse("qf://www.1000phone.com"), "qf/data");
                    startActivity(intent);
               }
          });
     }
    
<span style="font-size:18px;">5、Type 用于指定Data所指定的Uri对应的的MIME类型 
6、extras
7、flags 指示Andorid如何启动目标Activity,设置方法为调用Intent的setFlags</span>
     
     /**
     * 使用Flag跳转
     */
     private void initFlag() {
          btnFlag = (Button) findViewById(R.id.btn_flag);
          btnFlag.setOnClickListener(new OnClickListener() {
               @Override
               public void onClick(View v) {
                    Intent intent = new Intent(IntentActivity.this, FlagActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
               }
          });
     }