当前位置: 首页 > news >正文

文化传媒有限公司网站建设福步外贸论坛怎样注册

文化传媒有限公司网站建设,福步外贸论坛怎样注册,phpstudy做网站运营的坏处,代刷推广网站什么是Affinity 在某些情况下#xff0c;Android需要知道一个Activity属于哪个Task#xff0c;即使它没有被启动到一个具体的Task里。这是通过任务共用性#xff08;Affinities#xff09;完成的。任务共用性#xff08;Affinities#xff09;为这个运行一个或多… 什么是Affinity        在某些情况下Android需要知道一个Activity属于哪个Task即使它没有被启动到一个具体的Task里。这是通过任务共用性Affinities完成的。任务共用性Affinities为这个运行一个或多个Activity的Task提供了一个独特的静态名称默认的一个活动的任务共用性Affinity是实现了该Activity的.apk包的名字。        当开始一个没有Intent.FLAG_ACTIVITY_NEW_TASK标志的Activity时任务共用性affinities不会影响将会运行该新活动的Task:它总是运行在启动它的Task里。但是如果使用了NEW_TASK标志那么共用性affinity将被用来判断是否已经存在一个有相同共用性affinity的Task。如果是这样这项Task将被切换到前面而新的Activity会启动于这个Task的顶层。        这种特性在您必须使用NEW_TASK标志的情况下最有用尤其是从状态栏通知或桌面快捷方式启动活动时。结果是当用户用这种方式启动您的应用程序时它的当前Task将被切换到前台而且想要查看的Activity被放在最上面。        你可以在程序清单Manifest文件的应用程序application标签中为.apk包中所有的活动分配你自己的任务共用性Affinites或者在活动标记中为各个活动进行分配。        一些说明其如何使用的例子如下 如果您的.apk包含多个用户可以启动的高层应用程序那么您可能需要对用户看到的每个Activity(活动)指定不同的affinities。一个不错的命名惯例是以附加一个以冒号分隔的字符串来扩展您的.apk包名。例如“ com.android.contacts ”.apk可以有affinities:“com.android.contactsDialer”和“ com.android.contactsContactsList”。如果您正在替换一个通知快捷方式或其他可以从外部发起的应用程序的“内部”活动你可能需要明确设定您替代活动的taskAffinity和您准备替代的应用程序一样。例如如果您想替换contacts详细信息视图用户可以创建并调用快捷方式你得把taskAffinity设置成“com.android.contacts”。 跟 Task 有关的 manifest文件中Activity的特性值介绍         android:allowTaskReparenting          用来标记Activity能否从启动的Task移动到有着affinity的Task当这个Task进入到前台时        “true”表示能移动“false”表示它必须呆在启动时呆在的那个Task里。        如果这个特性没有被设定设定到application元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为“false”。        一般来说当Activity启动后它就与启动它的Task关联并且在那里耗尽它的整个生命周期。当当前的Task不再显示时你可以使用这个特性来强制Activity移动到有着affinity的Task中。典型用法是把一个应用程序的Activity移到另一个应用程序的主Task中。         例如如果 email中包含一个web页的链接点击它就会启动一个Activity来显示这个页面。这个Activity是由Browser应用程序定义的但是现在它作为email Task的一部分。如果它重新宿主到Browser Task里当Browser下一次进入到前台时它就能被看见并且当email Task再次进入前台时就看不到它了。         Actvity的affinity是由taskAffinity特性定义的。Task的affinity是通过读取根Activity的affinity决定。因此根Activity总是位于相同affinity的Task里。由于启动模式为“singleTask”和“singleInstance”的Activity只能位于Task的底部因此重新宿主只能限于“standard”和“singleTop”模式。        android:alwaysRetainTaskState        用来标记Activity所在的Task的状态是否总是由系统来保持。       “true”表示总是“false”表示在某种情形下允许系统恢复Task到它的初始化状态。默认值是“false”。        这个特性只针对Task的根Activity有意义对其它Activity来说忽略之。         一般来说特定的情形如当用户从主画面重新选择这个Task时系统会对这个Task进行清理从stack中删除位于根Activity之上的所有Activivity。典型的情况当用户有一段时间没有访问这个Task时也会这么做例如30分钟。         然而当这个特性设为“true”时用户总是能回到这个Task的最新状态无论他们是如何启动的。这非常有用例如像Browser应用程序这里有很多的状态例如多个打开的Tab用户不想丢失这些状态。        android:clearTaskOnLaunch        用来标记是否从Task中清除所有的Activity除了根Activity外每当从主画面重新启动时       “true”表示总是清除至它的根Activity“false”表示不。默认值是“false”。         这个特性只对启动一个新的Task的Activity根Activity有意义对Task中其它的Activity忽略。          当这个值为“true”每次用户重新启动这个Task时都会进入到它的根Activity中不管这个Task最后在做些什么也不管用户是使用BACK还是HOME离开的。当这个值为“false”时可能会在一些情形下参考alwaysRetainTaskState特性清除Task的Activity但不总是。        假设某人从主画面启动了Activity P并从那里迁移至Activity Q。接下来用户按下HOME然后返回Activity P。一般用户可能见到的是Activity Q因为它是P的Task中最后工作的内容。然而如果P设定这个特性为“true”当用户按下HOME并使这个Task再次进入前台时其上的所有的Activity(在这里是Q)都将被清除。因此当返回到这个Task时用户只能看到P。        如果这个特性和allowTaskReparenting都设定为“true”那些能重新宿主的Activity会移动到共享affinity的Task中剩下的Activity都将被抛弃如上所述。         android:finishOnTaskLaunch              用来标记当用户再次启动它的Task在主画面选择这个Task时已经存在的Activity实例是否要关闭结束      “true”表示应该关闭“false”表示不关闭。默认值是“false”。         如果这个特性和allowTaskReparenting都设定为“true”这个特性胜出。Activity的affinity忽略。这个Activity不会重新宿主但是会销毁。  跟 Task 有关的 Intent对象中设置的Flag        FLAG_ACTIVITY_BROUGHT_TO_FRONT         这个标志一般不是由程序代码设置的如在launchMode中设置singleTask模式时系统帮你设定。         FLAG_ACTIVITY_CLEAR_TOP         如果设置并且这个Activity已经在当前的Task中运行因此不再是重新启动一个这个Activity的实例而是在这个Activity上方的所有Activity都将关闭然后这个Intent会作为一个新的Intent投递到老的Activity现在位于顶端中。         例如假设一个Task中包含这些ActivityABCD。如果D调用了startActivity()并且包含一个指向Activity B的Intent那么C和D都将结束然后B接收到这个Intent因此目前stack的状况是AB。         上例中正在运行的Activity B既可以在onNewIntent()中接收到这个新的Intent也可以把自己关闭然后重新启动来接收这个Intent。如果它的启动模式声明为“multiple”(默认值)并且你没有在这个Intent中设置FLAG_ACTIVITY_SINGLE_TOP标志那么它将关闭然后重新创建对于其它的启动模式或者在这个Intent中设置FLAG_ACTIVITY_SINGLE_TOP标志都将把这个Intent投递到当前这个实例的onNewIntent()中。         这个启动模式还可以与FLAG_ACTIVITY_NEW_TASK结合起来使用用于启动一个Task中的根Activity它会把那个Task中任何运行的实例带入前台然后清除它直到根Activity。这非常有用例如当从Notification Manager处启动一个Activity。        FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET        如果设置这将在Task的Activity stack中设置一个还原点当Task恢复时需要清理Activity。也就是说下一次Task带着FLAG_ACTIVITY_RESET_TASK_IF_NEEDED标记进入前台时典型的操作是用户在主画面重启它这个Activity和它之上的都将关闭以至于用户不能再返回到它们但是可以回到之前的Activity。         这在你的程序有分割点的时候很有用。例如一个e-mail应用程序可能有一个操作是查看一个附件需要启动图片浏览Activity来显示。这个Activity应该作为e-mail应用程序Task的一部分因为这是用户在这个Task中触发的操作。然而当用户离开这个Task然后从主画面选择e-mail app我们可能希望回到查看的会话中但不是查看图片附件因为这让人困惑。通过在启动图片浏览时设定这个标志浏览及其它启动的Activity在下次用户返回到mail程序时都将全部清除。        FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS        如果设置新的Activity不会在最近启动的Activity的列表中保存。        FLAG_ACTIVITY_FORWARD_RESULT        如果设置并且这个Intent用于从一个存在的Activity启动一个新的Activity那么这个作为答复目标的Activity将会传到这个新的Activity中。这种方式下新的Activity可以调用setResult(int)并且这个结果值将发送给那个作为答复目标的Activity。        FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY        这个标志一般不由应用程序代码设置如果这个Activity是从历史记录里启动的常按HOME键那么系统会帮你设定。        FLAG_ACTIVITY_MULTIPLE_TASK        不要使用这个标志除非你自己实现了应用程序启动器。与FLAG_ACTIVITY_NEW_TASK结合起来使用可以禁用把已存的Task送入前台的行为。当设置时新的Task总是会启动来处理Intent而不管这是是否已经有一个Task可以处理相同的事情。         由于默认的系统不包含图形Task管理功能因此你不应该使用这个标志除非你提供给用户一种方式可以返回到已经启动的Task。         如果FLAG_ACTIVITY_NEW_TASK标志没有设置这个标志被忽略。        FLAG_ACTIVITY_NEW_TASK        如果设置这个Activity会成为历史stack中一个新Task的开始。一个Task从启动它的Activity到下一个Task中的Activity定义了用户可以迁移的Activity原子组。Task可以移动到前台和后台在某个特定Task中的所有Activity总是保持相同的次序。         这个标志一般用于呈现“启动”类型的行为它们提供用户一系列可以单独完成的事情与启动它们的Activity完全无关。         使用这个标志如果正在启动的Activity的Task已经在运行的话那么新的Activity将不会启动代替的当前Task会简单的移入前台。参考FLAG_ACTIVITY_MULTIPLE_TASK标志可以禁用这一行为。         这个标志不能用于调用方对已经启动的Activity请求结果。         FLAG_ACTIVITY_NO_ANIMATION         如果在Intent中设置并传递给Context.startActivity()的话这个标志将阻止系统进入下一个Activity时应用Acitivity迁移动画。这并不意味着动画将永不运行——如果另一个Activity在启动显示之前没有指定这个标志那么动画将被应用。这个标志可以很好的用于执行一连串的操作而动画被看作是更高一级的事件的驱动。        FLAG_ACTIVITY_NO_HISTORY        如果设置新的Activity将不再历史stack中保留。用户一离开它这个Activity就关闭了。这也可以通过设置noHistory特性。        FLAG_ACTIVITY_NO_USER_ACTION         如果设置作为新启动的Activity进入前台时这个标志将在Activity暂停之前阻止从最前方的Activity回调的onUserLeaveHint()。         典型的一个Activity可以依赖这个回调指明显式的用户动作引起的Activity移出后台。这个回调在Activity的生命周期中标记一个合适的点并关闭一些Notification。         如果一个Activity通过非用户驱动的事件如来电或闹钟启动的这个标志也应该传递给Context.startActivity保证暂停的Activity不认为用户已经知晓其Notification。          FLAG_ACTIVITY_REORDER_TO_FRONT        如果在Intent中设置并传递给Context.startActivity()这个标志将引发已经运行的Activity移动到历史stack的顶端。         例如假设一个Task由四个Activity组成A,B,C,D。如果D调用startActivity()来启动Activity B那么B会移动到历史stack的顶端现在的次序变成A,C,D,B。如果FLAG_ACTIVITY_CLEAR_TOP标志也设置的话那么这个标志将被忽略。         FLAG_ACTIVITY_SINGLE_TOP        如果设置当这个Activity位于历史stack的顶端运行时不再启动一个新的。
http://wiki.neutronadmin.com/news/336009/

相关文章:

  • 网站举报中心官网公司网站开发立项文档
  • 网站建设开票税率在百度上注册公司网站要多少钱
  • 怎样做优惠券网站高德地图实况街景怎么打开
  • 有口碑的顺德网站建设有创意的网页
  • 湖州做网站优化一个品牌的策划方案
  • 仙游县网站建设南昌seo推广公司
  • 企业网站建设的费用怎么看网站的建站公司是哪个
  • 通用搭建网站教程网站建设好后怎么更新内容
  • 网站支付端口化妆品网站建设推广方案
  • wordpress 站群个人网站设计教程
  • 外贸石材网站wordpress改后台地址
  • 师范街网站建设知识库管理系统方案
  • 购物网站哪个是正品中国海外旅游营销网站
  • 个人能不能自己做网站阿里云域名注册续费
  • 社交网站先做pc站可以吗越南做企业网站
  • 企业网站建设方案应该怎么做培训美工设计师
  • 重庆靓号网站建设无锡装修网站
  • 淮南营销型网站建设怎么样山东省住房和城乡建设厅网站6
  • 廊坊企业网站建设公司凡科的网站怎么做百度推广
  • 如何将网站让百度收录网络营销试卷
  • 用c 可以做网站吗园林公司做网站的好处
  • 网站建设项目执行进度表网上注册平台怎么注册
  • 外贸营销型网站2018软件开发定制费用
  • 做网站需要的程序数据线东莞网站建设技术支持
  • 视频付费网站建设网站建设主持词
  • 凡客网站登陆东莞好的网站建设公司
  • wordpress自动发布网站深圳公司排名名字
  • 重庆企业做网站制作网站的模板下载软件
  • 青岛网站建设制作公司如何实现网站的伪静态
  • 网站博客怎么做网站活动策划怎么做