2017-02-19 44 views
2

我想了解Android如何管理棄用的API。例如,運行Android 5的設備具有用targetSdk 22(即,Android 5.1)構建的應用程序。這個應用程序調用android.provider.Browser.getAllBookmarks(),從API 23開始已棄用。然後將設備升級到Android 6.據我瞭解,瀏覽器書籤的所有概念在Android 6中完全刪除。那麼當應用程序被使用時會發生什麼? Android如何處理這種情況?Android如何處理移除的API

+0

只是爲了說明:當設備升級時,你是否也暗示更新了targetSdk? – Androbin

+0

不,我的意思是有一個應用程序,沒有人打算升級 - 它將永遠保持API 22。升級後它的行爲如何?它會崩潰嗎?提供程序是否會返回空數據集?它會在升級之前看到它看到的數據嗎? – FireAphis

+1

如果出於某種安全原因已將其刪除,則android將以空狀態(空數據或空數據)進行響應,從而不會導致應用程序崩潰(這是在引入運行時權限之前完成的)。 – AnixPasBesoin

回答

0

這可能幫助:https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#fc

Android應用程序是一般向前兼容新 版本的Android平臺。

因爲幾乎所有的框架API的變化是添加劑,使用API​​的任何版本(正如其API級別指定 )的 Android應用程序開發的是更高版本的Android平臺的 和更高的向前兼容API級別。應用程序應 能夠運行在所有更高版本的Android平臺上,除了 在孤立的情況下,應用程序使用的部分API是 以後的由於某些原因刪除了