# Android中Activity四种启动模式和taskAffinity属性详解 #(4原创分享)

# AndroidActivity四种启动模式和taskAffinity属性详解 #(4原创分享)

----------影子侠开发者社区Rong

## 实例验证singleInstance的行为 ##

 

根据上面的讲解,并且参考谷歌官方文档,singleInstance的特点可以归结为以下三条:

 

1. singleInstance模式启动的Activity具有全局唯一性,即整个系统中只会存在一个这样的实例

 

1. singleInstance模式启动的Activity具有独占性,即它会独自占用一个任务,被他开启的任何activity都会运行在其他任务中(官方文档上的描述为,singleInstance模式的Activity不允许其他Activity和它共存在一个任务中)

 

1. singleInstance模式的Activity开启的其他activity,能够开启一个新任务,但不一定开启新的任务,也可能在已有的一个任务中开启

 

下面对这三个特点分别验证,所使用的示例同样为AndroidTaskTest,只不过会进行一些修改,下面列出它的清单文件:

 

    <?xml version="1.0" encoding="utf-8"?>

         <manifest xmlns:android="http://schemas.android.com/apk/res/android"

             package="com.jg.zhang.androidtasktest"

             android:versionCode="1"

             android:versionName="1.0" >

        

             <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" />

        

             <application android:allowBackup="true"

                 android:icon="@drawable/ic_launcher" android:label="androidtasktest">

                

                 <activity  android:name="com.jg.zhang.androidtasktest.MainActivity">

                     <intent-filter>

                         <action android:name="android.intent.action.MAIN" />

                         <category android:name="android.intent.category.LAUNCHER" />

                     </intent-filter>

                 </activity>

                

                  <activity android:name="com.jg.zhang.androidtasktest.SecondActivity"

                      android:launchMode="singleInstance">

                      <intent-filter>

                          <action android:name="com.jg.zhang.androidtasktest.ACTION_MY"/>

                          <category android:name="android.intent.category.DEFAULT"/>

                      </intent-filter>

                  </activity>

                

                  <activity android:name="com.jg.zhang.androidtasktest.ThirdActivity"/>

                 

             </application>

            

         </manifest>

 

由上面的清单文件可以知道,该应用包括三个activity,分别为MianActivitySecondActivityThirdActivity,其中SecondActivity启动模式设置为singleInstanceMianActivity可以开启SecondActivitySecondActivity可以开启ThirdActivity 并且为了可以在其他应用中开启SecondActivity,为SecondActivity设置了一个IntentFilter,这样就可以在其他应用中使用隐式Intent开启SecondActivity

 

为了更好的验证singleInstance的全局唯一性,还需要其他一个应用,对上面的AndroidTaskTest1进行一些修改即可。AndroidTaskTest1只需要一个MianActivity,在MainActivity中点击按钮会开启AndroidTaskTest应用中的SecondActivity。开启AndroidTaskTest应用中的SecondActivity的代码如下:

 

            

         /**

          * 该方法在布局中按钮的android:onClick属性中指定

          * android:onClick="launchOtherActivity"

          * @param v

          */

         public void launchOtherActivity(View v){

                   Intent intent = new Intent();

                  

                   //以下Action"com.jg.zhang.androidtasktest.ACTION_MY"

                   //AndroidTaskTest应用中SecondActivityaction

                   intent.setAction("com.jg.zhang.androidtasktest.ACTION_MY");

                  

                   startActivity(intent);

         }

### 下面开始验证第一个特点:

此文章系原创,如需转载,请注明出处影子侠开发者社区www.yingzixia.com


转载于:https://my.oschina.net/u/2312592/blog/378046

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值