美文网首页Android 开发
Android 入门(2)-使用intent穿梭于活动

Android 入门(2)-使用intent穿梭于活动

作者: 正经龙 | 来源:发表于2018-08-26 18:27 被阅读0次
    黑子

    在使用Android的应用的时候,我们时常会见到一个页面到一个页面的切换,这一节我们就将介绍Android开发中的活动切换——Intent

    Intent共有两种 显式Intent与隐式Intent

    显式intent

    public void onClick(View v) {
                    Toast.makeText(FirstActivity.this, "you will go to SecondActivity", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
                    startActivity(intent);
                }
    

    顾名思义,显式Intent就是通过显式的方式调用 Intent,在上面的代码中我们使用了Intent的含参的构造函数,第一个参数是调用活动的当前类,第二个参数是目标类,这里很明确的指出目标类是SecondActivity,所以我们把这样的Intent叫做显式Intent.

    隐式Intent

    隐式intent是不指定我们打开某一个具体的活动,而是根据当前intent让系统自己去判断我们要打开的活动

    首先我们进入到AndroidMainifest.xml中进行一些活动的标识

            <activity android:name=".SecondActivity">
                <intent-filter>
                    <action android:name="android.intent.action.ACTION_START"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="com.example.yaomenglong.testproject.MY_CATEGORY"/>
                </intent-filter>
            </activity>
    

    我们使用intent-filter对SecondActivity进行标识,我们自定义他的category为com.examples.yaomenglong.testproject.MY_CATEGORY

    然后回到FirstActivity中进行隐式Intent创建

                public void onClick(View v) {
                    Toast.makeText(FirstActivity.this, "you will go to SecondActivity", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent("android.intent.action.ACTION_START");
                    intent.addCategory("con.example.yaomenglong.testproject.MY_CATEGORY");
                    startActivity(intent);
                }
    

    使用android.intent.action.ACTION_START创建intent
    使用addCategory添加我们自定义的com.example.yaomenglong.testproject.MY_CATEGORY
    最后startActivity打开secondActivity

    当我们点击Button时将会从FirstActivity转到SecondActivity FirstActivity SecondActivity

    附:

    使用内置intent可以打开其他应用,下面介绍使用intent打开百度与拨打电话

    1.打开百度

            button2.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse("http://www.baidu.com"));
                    startActivity(intent);
                }
            });
    

    使用内置的Intent.ACTION_VIEW
    利用setData打开Uri.parse解析过的字符串
    点击按钮即可打开百度网页

    百度

    2.拨打电话

            button3.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_DIAL);
                    intent.setData(Uri.parse("tel:10086"));
                    startActivity(intent);
                }
            });
    

    使用内置的Intent.Action_DIAL
    使用setData打开解析后的字符串
    开启一个新的活动
    点击按钮即可打开拨号页面,此时已经输入好了号码

    拨号

    相关文章

      网友评论

        本文标题:Android 入门(2)-使用intent穿梭于活动

        本文链接:https://www.haomeiwen.com/subject/htioiftx.html