使用Intent在活动中穿梭:显式和隐式Intent

Posted 专注改变人生。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Intent在活动中穿梭:显式和隐式Intent相关的知识,希望对你有一定的参考价值。

一、显式Intent

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);

        Button btn=(Button)findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent=new Intent(MainActivity.this,Main2LayoutActivity.class);
                startActivity(intent);

            }
        });
    }
  •  实现的效果是: 点击id为button1的按钮就会从MainActivity 这个活动跳转到Main2LayoutActivity这个活动,即从MainActivity这个活动的布局跳转到Main2LayoutActivity这个活动对应的布局。

 

二、隐式Intent

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);

        Button btn=(Button)findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent=new Intent("com.example.myAction");
                intent.addCategory("android.intent.category.DEFAULT");
                startActivity(intent);

            }
        });
    }
  • 与显式区别在于,Intent的构造函数不再直接定义从哪个活动跳转到哪个活动,而是匹配哪个活动的<action>和<category>符合Intent中指定的action和category。所以
  • 要想实现跳转,则必须定义一个符合Intent中指定的action和category的活动。如下:

AndroidManifest.xml:

   <activity android:name=".Main2LayoutActivity">
            <intent-filter>
                <action android:name="com.example.myAction"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
            </intent-filter>
        </activity>

效果:

点击按钮:

  •  intent.addCategory("android.intent.category.DEFAULT");可以省略,因为intent会默认自动带上这个category。

 

  •  一个Intent只能指定一个Action,但是能指定多个category。

 

三、更多隐式Intent的使用

 

以上是关于使用Intent在活动中穿梭:显式和隐式Intent的主要内容,如果未能解决你的问题,请参考以下文章

Android-- Intent(显式和隐式Intent)

欧拉方法(显式和隐式)

webdriver显式和隐式等待

显式intent和隐式intent

selenium python 显式和隐式等待方法

Android显式意图和隐式意图