gpt4 book ai didi

android - 启动器 Activity 上的未知 Intent 标志

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:58 25 4
gpt4 key购买 nike

我有一个带有 Activitylaunchmode = "singleInstance",它是应用程序的启动器 Activity。现在我正在尝试检测我的 Flag 是/将与哪个 Activity 一起启动,但是我在 documented page 上找不到带有 Intent Flag 的标志 id;这是旗帜

String version of the Flag id is 270532608

Intent 的字符串版本是

04-25 20:18:57.061: V/logtag(1665): Intent { act=android.intent.action.MAIN 
cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=<filtered> }

当应用程序首次启动时,系统会使用此 Activity = Flag 或 string version = Intent.FLAG_ACTIVITY_NEW_TASK (它应该)调用我的 268435456 但是当我退出应用程序并再次从启动器启动它时,我得到了这个标志 0x10200000 而不是以前的旗帜

so my question is can anyone tell me what Flag this is?

and why my activity is being called with it?

and are there any other instances from the launcher that my activity might be triggered with a different flag aside from the unknown one & 0x10200000?

最佳答案

它是标志的组合:

public static final int FLAG_ACTIVITY_NEW_TASK = 0x10000000;

public static final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 0x00200000;

0x10000000 是 268435456 的十六进制表示法。
0x00200000 是 2097152 的十六进制表示法。
如果将这些数字相加,您将得到:
0x10200000,即270532608的十六进制表示法。

因此,第一次启动您的应用时,您只会获得 FLAG_ACTIVITY_NEW_TASK,但第二次您也会获得 FLAG_ACTIVITY_RESET_TASK_IF_NEEDED。这只是一个按位或操作。要检查您想要的标志是否处于 Activity 状态,您可以按位并像这样:

boolean hasNewTaskFlag = (flg & FLAG_ACTIVITY_NEW_TASK) != 0;

关于android - 启动器 Activity 上的未知 Intent 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com