Что изображает аннотация @UnsupportedAppUsage - PullRequest
0 голосов
/ 25 сентября 2018

Я создаю приложение Enterprise, которое имеет системное разрешение и требует использования функции из класса BluetoothAdapter setScanMode.Это скрытый API, который доступен только для системных подписанных apks, теперь эта функция имеет @UnsupportedAppUsage над ней, может кто-нибудь помочь мне понять эту аннотацию.

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/bluetooth/BluetoothAdapter.java

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Приведенное выше описание источника аннотации является правильным.Я получаю исключение в своем коде для Pie сейчас, где это не было раньше.Я устанавливаю цвет обработчика курсора для некоторых полей в TextView.class, которые теперь не поддерживаются, и вызывает исключение, когда я не могу установить цвет дескриптора в Pie.Это не просто предупреждение.

0 голосов
/ 25 сентября 2018

Если мы перейдем к источнику аннотации :

/**
 * Indicates that a class member, that is not part of the SDK, is used by apps.
 * Since the member is not part of the SDK, such use is not supported.
 *
 * <p>This annotation acts as a heads up that changing a given method or field
 * may affect apps, potentially breaking them when the next Android version is
 * released. In some cases, for members that are heavily used, this annotation
 * may imply restrictions on changes to the member.
 *
 * <p>This annotation also results in access to the member being permitted by the
 * runtime, with a warning being generated in debug builds.
 *
 * <p>For more details, see go/UnsupportedAppUsage.
 *
 * {@hide}
 */

По сути, это означает, что он используется приложениями, хотя технически он не является частью SDK и поэтому не являетсят поддерживается.Похоже, это больше предупреждение для тех, кто вносит вклад в AOSP, а не то, о чем вам нужно слишком беспокоиться.

...