AndroiManifest.xml之Activity (一、关于activity启动模式、属性及Flag的进一步理解)

最近好好研究了索尼的系统的闹钟骨架,其中有不少值得总结的,其中一点就是AndroiManifest.xml之Activity。

Activity有很多属性,仔细研究研究,还是很有用的,特别是其启动模式,能有效的帮助我们理解Task栈。

*先简述几个基本的属性比如:

    1. name:activity的标识(相当于键值对中的key)

    2. theme:从字面就能理解,就是你这个activity的主题,一般是通过引用@style/...来定义的(这里面的东西很多,理解容易,熟练运用必须得亲自操刀)

    3. icon:图标,就是曾经title栏左上角的那个,当Activiy在任务栈顶的时候显示,通俗讲,就是在设备上能看见这个activity的时候显示。不过自从ActionBar袭来,这个玩意就没太大用了,因为ActionBar过于强大。

    4. label:曾经的title栏中的文字,同上,一般就在图标的右边,现在也是被ActionBar取代了,至少索尼的代码都是这样干的。

    5. configChanges: 简单来说就是能让手机在旋转或者弹出和隐藏软件盘等的时候,Activity会调用onConfigurationChanged()方法,以达到不再次调用onCreate()方法而提高程序效率的目的。详细可以看这篇博客:http://www.cnblogs.com/wisekingokok/archive/2011/10/06/2199948.html

    6. uiOptions:这玩意只需记住把这

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)` 是用于设置 Intent 的标志,指示在启动活动时创建一个新的任务。 通过设置该标志,您可以在一个新的任务启动活动,而不是将其添加到当前任务的堆栈。这意味着新活动将在一个新的任务栈打开,并成为该任务的根活动。 这种情况通常发生在以下情况下: 1. 在非活动上下文启动活动:例如,在服务、广播接收器或应用程序的后台任务启动活动时,由于缺乏 UI 上下文,您需要设置 `FLAG_ACTIVITY_NEW_TASK` 标志来创建一个新的任务,以便启动活动。 2. 启动独立的任务:有时,您可能希望将某个活动作为一个单独的任务打开,而不是与当前应用程序的任务关联。通过设置 `FLAG_ACTIVITY_NEW_TASK` 标志,您可以实现这一点。 下面是一个示例代码片段,演示如何使用 `intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)` 启动一个新的任务: ```java Intent intent = new Intent(context, YourActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); ``` 在此示例,我们创建了一个 Intent 对象,指定目标活动为 `YourActivity`。然后,我们使用 `setFlags()` 方法设置 `FLAG_ACTIVITY_NEW_TASK` 标志。最后,我们使用 `startActivity()` 方法启动活动。 请注意,使用 `FLAG_ACTIVITY_NEW_TASK` 标志启动活动时,您需要确保目标活动在 AndroidManifest.xml 文件被声明为具有 `android:launchMode="standard"` 或 `android:launchMode="singleTask"` 属性,以便正确处理任务和活动的创建和销毁。 如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值