美文网首页
2018-03-11 开启多界面(激活activity)

2018-03-11 开启多界面(激活activity)

作者: 紫杉叶子 | 来源:发表于2018-03-13 09:02 被阅读0次
    笔记如下
    • 显示激活
      在AndroidManifest.xml文件中先注册activity
    <activity android:name="com.chen.test31.SecondMainActivity" />
    
    ntent intent = new Intent();
    //明确指定激活那个应用
    intent.setClass(this, SecondMainActivity.class);
    startActivity(intent);
    
    • 隐式激活
      在AndroidManifest.xml文件中注册
    activity android:name="com.chen.test31.SecondMainActivity" >
                <!-- 通过intent隐式激活-->
                <intent-filter>
                    <action android:name="com.chen.xxx"/>
                    <!-- category 都要去声明  android.intent.category.DEFAULT 默认运行到手机和平板中
                    -->
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
    
    
    //    <intent-filter>
    //                <action android:name="com.chen.xxx"/>
    //                <!-- category 都要去声明  android.intent.category.DEFAULT 默认运行到手机和平板中-->
    //                <category android:name="android.intent.category.DEFAULT" />
    //            </intent-filter>
        //隐式激活
        public void click02(View v){
    
            Intent intent = new Intent();
            intent.setAction("com.chen.xxx");
            intent.addCategory("android.intent.category.DEFAULT");
            startActivity(intent);
            System.out.println("隐式激活");
    
        }
    
    • 那什么时候用显示激活,什么时候用隐式激活呢?
      当开启的是应用内部的activity组件的时候,用显示激活
      当开启的是其他应用的activity组件的时候就用隐式激活

    • 开启外部应用的activity
      这是两个应用


      2018-03-11_092525.png

    在多线程下载(一)中配置的是

    <activity android:name="com.chen.multithreaddownloadtest.SecondMainActivity">
                <intent-filter>
                    <action android:name="com.chen.xxxyy" />
                   <!-- <data android:scheme="chen" android:host="www.chen.com"/>-->
                    <data android:mimeType="text/plain" android:scheme="chen"/>
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
    
            </activity>
    

    app中

    //隐式激活
        public void click03(View v){
    
            Intent intent = new Intent();
            intent.setAction("com.chen.xxxyy");
            //intent.setData(Uri.parse("chen://www.chen.com"));
            //type和data不能分开设置
    //        intent.setData(Uri.parse("chen:"));
    //        intent.setType("text/plain");
            intent.setDataAndType(Uri.parse("chen://www.chen.com"),"text/plain");
    
    
            intent.addCategory("android.intent.category.DEFAULT");
            startActivity(intent);
            System.out.println("隐式激活");
    
        }
    

    如果在一个项目空间中有两个activity同样设置了两个一模一样的<intent-filter></intent-filter>,再去开启会怎样呢?


    2018-03-10_180446.png

    相关文章

      网友评论

          本文标题:2018-03-11 开启多界面(激活activity)

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