2014-11-02 58 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和刪除緩存。現在起作用了。