【问题标题】:For whats this "1342177280" flag for?这个“1342177280”标志是干什么用的?
【发布时间】:2020-11-04 03:02:32
【问题描述】:

我有一些代码 sn-p 用于打开带有以下标志的 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);

上面的 sn-p 显示错误 1342177280 如下所示

Error image here

我不明白这个标志 1342177280 是关于什么的,知道吗?

【问题讨论】:

  • 这些是标志 OR'ed 在一起 (developer.android.com/reference/android/content/…); 10100000000000000000000000000000 二进制。 (也许:FLAG_ACTIVITY_NEW_TASK 和 FLAG_RECEIVER_REGISTERED_ONLY)
  • 警告是因为您使用的是显式整数,而不是在“已批准”标志列表中绘制。

标签: java android android-studio android-intent


【解决方案1】:

我正在扩展 codebod 的评论

警告是因为您使用的是显式整数,而不是在“已批准”标志列表中绘制。

Intent 的 addFlags() 方法接受一个在 android 框架中预定义为常量的 int 参数。预定义的常量具有相应的整数值。您看到该错误是因为您输入的整数值与任何预定义值都不匹配。

查看this 文档以查看 Intent 的 addFlags() 方法可以接受的有效参数列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 2019-10-22
    • 2020-09-25
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    相关资源
    最近更新 更多