2013-06-23 67 views

回答

2

根据sdk文档,没有(公共)Intent.FLAG_FLOATING_WINDOW常量,因此编译错误。据推测,它是专门针对您尝试构建的自定义ROM?

你不能绕过像这样的编译错误。但是,由于我们谈论的是一个常数,因此您可以将该参考替换为实际值。所有由Intent类定义的标志常量只是int s,但您必须知道该值才能够替换它。你应该能够在你指的自定义ROM的源代码中找到它。

例如,假设含量的不同将有如下定义:

public static final int FLAG_FLOATING_WINDOW = 1234; 

然后一个有效addFlags()呼叫使用这个值应该是这样的:

addFlags(1234); 

,将建立,不论常量定义在Intent


编辑:

问题涉及到偏执的Android,为其FLAG_FLOATING_WINDOW声明如下。

/** 
* If set, this intent will always match start up as a floating window 
* in mutil window scenarios. 
*/ 
public static final int FLAG_FLOATING_WINDOW = 0x00002000; 

来源:Intent.java (@ParanoidAndroid)

+0

听起来像它可以工作。所以对于普通标志来说,是存储在android.jar中的int值还是像框架一样的其他地方。 –

+0

@LukePring:所有常量声明都可以在Intent.java的源文件中找到。我在SlimRoms仓库中快速浏览了一下(它看起来像是你所指的自定义仓库?),但似乎无法在[包含的Intent类中]的任何地方找到FLAG_FLOATING_WINDOW(https:/ /github.com/SlimRoms/frameworks_base/blob/jb4.2/core/java/android/content/Intent.java#L3094)(在任何分支机构中)。 –

+0

nope,偏执android。我刚刚找到了整数。谢谢你们:) –