2015-12-02 82 views
2

我試圖判斷畫面是否是在使用了下面的代碼:Android PowerManager isInteractive()vs isScreenOn()錯誤?

com.aws.android I/dalvikvm: Could not find method android.os.PowerManager.isInteractive, referenced from method ... 

任何人的幫助:

private void isScreenOn() { 
     if (Build.VERSION.SDK_INT >= 20) { 
      if (mPowerManager.isInteractive()) { 
       //Do stuff 
      } 
     } else { 
      if (mPowerManager.isScreenOn()) { 
       //Do stuff 
      } 
     } 
    } 

我從外地,這是正在記錄了報告我明白這是怎麼發生的? isScreenOn()方法在API 19之前應該是有效的,isInteractive()應該適用於API 20或更高版本。我在這裏做錯了什麼?

回答

4

我想出了這個問題。我的目標是android SDK版本22.如果您在運行<版本20的設備上調用PowerManager.isScreenOn(),那麼isScreenOn調用實際上僅包含isInteractive調用。

這是在文檔中闡述的,但它在我讀取時沒有註冊。

+0

沒有記住你完成了什麼以及爲什麼 –

+1

你的文章幫助我意識到爲什麼我的APP崩潰了API 14. if-then-else子句是一個可靠的修復。 –