java - android: 找不到符号 TaskDescription

标签 java android mobile

我正在尝试设置 ActionBar 的颜色,同时我的应用程序使用 TaskDescription 被“最小化”,正如这篇文章的答案所建议的:Setting header color of app in overview (recent apps) screen

相关代码如下:

...
import android.app.ActivityManager;
...
public class MainActivity extends SherlockFragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
...
        int c = Color.parseColor("#0A782F");
        ActivityManager.TaskDescription td = new ActivityManager.TaskDescription(R.string.app_name, R.drawable.launcher, c);
        ((SherlockFragmentActivity) this).setTaskDescription(td);
    }
...
}

虽然我没有发布该项目的 xml 资源文件,但您可以假设 R.string.app_nameR.drawable.launcher 是在 xml 文件中定义的.

问题是:当我编译这段代码时,出现以下错误:

error: cannot find symbol
...
symbol: class TaskDescription
location: class MainActivity

现在,据我了解,当您引用不存在的类或变量名称时,Java 会抛出 找不到符号 错误。在类的情况下,通常是因为忘记导入你需要的类造成的。但是,在这种情况下,这不是原因,因为我已经在类文件的顶部明确导入了 ActivityManager

这里有一些其他的例子,人们做了完全相同的事情,只是为了表明我已经完成了我的研究:http://www.programcreek.com/java-api-examples/index.php?class=android.app.ActivityManager&method=TaskDescription

最后,我认为问题可能在于您只能在 Activity 上下文中实例化 TaskDescription 类。但是,我使用的是 SherlockFragmentActivity 而不是标准的 AppCompatActivity。不幸的是,我尝试更改此设置,但仍然出现相同的错误。有什么想法吗?

预先感谢您的帮助!

最佳答案

找到解决方案!我没有在问题中提到我是使用 gradle 构建项目的。问题是我使用的是旧的 Sdk 版本(特别是,我使用的是尚未定义 TaskDescription 类的 android Sdk 版本)。因此,要解决这个问题,我所要做的就是将以下行添加到我的 build.gradle 文件中的适当位置:

compileSdkVersion 21

希望这能帮助其他因同样原因而感到迷茫的人。

关于java - android: 找不到符号 TaskDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907794/

相关文章:

java - spring boot 应用程序在进行单元测试时是否需要连接数据库

java - Xcode 下运行 java 工具时出现 NoClassDefFoundError

java - 如何使用 archunit 验证方法注释是否使用具有特定值的属性

android - 在 Sharepoint 2013 的移动模式下,在 Excel 切片器的 Div 中单击不起作用

javascript - 移动设备:从 anchor 打开多个新选项卡 (__blank)

php - 是否有模仿 User-Agent 字符串的 iPhone 模拟器,以便我可以使用 php-mobile-detect?

java - Selenium WebDriver - Appium - Android 自动化期间出现 NoClassDefFound 错误?

Android - AudioTrack setStereoVolume() 不工作

android - Tab 内的 TextView 中的文本换行

java - 使用 Firestore 管理 Android 后台堆栈和监听器以优化文档读取