这个“1342177280”标志是用来做什么的?

4

我有一些打开WhatsApp的代码片段,带有以下标识:

  Intent intent = new Intent();
            intent.setClassName("com.whatsapp", "com.whatsapp.HomeActivity");
            intent.addFlags(1342177280);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivityForResult(intent, 9);

上面的代码片段显示了关于1342177280的错误,如下所示。 这里是错误图片 我不明白这个标志数字1342177280是什么意思,有任何想法吗?

1
这些是按位或(https://developer.android.com/reference/android/content/Intent#addFlags(int))组合在一起的标志;二进制表示为1010000000000000000000000000000。(可能包括:FLAG_ACTIVITY_NEW_TASK和FLAG_RECEIVER_REGISTERED_ONLY) - JCWasmx86
警告是因为您使用了显式整数,而不是在“批准”的标志列表上进行绘制。 - codebod
1个回答

1
我正在扩展codebod的评论。
引起警告是因为您使用了显式整数,而不是使用“已批准”标志列表进行绘制。
Intent的addFlags()方法需要一个int参数,这些参数在android框架中预定义为常量。预定义常量具有相应的整数值。您看到该错误是因为输入的整数值与任何预定义值都不匹配。
请查看this文档,以查看Intent的addFlags()方法可以接受的有效参数列表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接