2014-11-02 54 views
0

我在minSdk 21项目中遇到Lollipop特定类出现问题。 这是我gradle.buildAndroid Studio中不能使用棒棒糖特定类

android { 
compileSdkVersion 21 
buildToolsVersion "21.1.0" 

defaultConfig { 
    applicationId "com.mypackage" 
    minSdkVersion 21 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
} 

当我尝试使用UsageStatsManager我从Android Studio得到'Cannot resolve symbol UsageStatsManager'错误。 或者如果我使用Context.JOB_SCHEDULER_SERVICE/Context.USAGE_STATS_SERVICE找不到常数。

这是一个给我这些错误的例子。

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.app.usage.UsageStatsManager; 
import android.app.job.JobScheduler; 

public class MainActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE); 
    JobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); 
} 

在这种情况下,即使是importUsageStatsManager失败,错误'Cannot resolve symbol UsageStatsManager',而JobScheduler发现

我已经下载android-21平台(但因为我没有Context.JOB_SCHEDULER_SERVICE我不能用它)从SDK Manager,我有sourceSDK

我错过了什么吗?

回答

0

关于JOB_SCHEDULER_SERVICE,那就是a known issue,可以通过@SuppressWarnings("ResourceType")注释临时解决,直到您开始使用新的Android Studio。

但是,关于android.app.usage.UsageStatsManager,我可以在Android Studio 0.8.9上使用compileSdkVersion 21导入罚款。来自旧安装Android Studio中的

+0

好吧,JobScheduler问题已消失,但我仍然无法弄清楚如何导入UsageStatsService。我在Android 0.9.0工作室 – 2014-11-02 11:13:33

+1

@DavidCorsalini(在大谈droidconUK):我更新了我的答案 - 我没有问题,导入一个类,所以我不太肯定什么可能是错在您的环境。确保您拥有在SDK Manager中下载的最新版本的SDK Platform for API Level 21。我很高兴你喜欢这次会议介绍! – CommonsWare 2014-11-02 12:00:42

1

东西是造成问题的,所以我也跟着this answer和删除缓存。现在起作用了。