Ответ
В Android некоторые API помечены как @hide или @UnsupportedAppUsage — они считаются запрещёнными (restricted). Их использование может привести к проблемам:
- Нестабильность: API могут измениться или исчезнуть в будущих версиях.
- Совместимость: Не гарантируется работа на всех устройствах.
- Публичные альтернативы: Google рекомендует использовать официальные API.
Пример (не используйте!):
// Получение IMEI через скрытый API (запрещено)
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String imei = tm.getDeviceId(); // Deprecated и скрыт в API 26+
Проверить можно через lint или veridex. Альтернативы: идентификаторы из Settings.Secure.ANDROID_ID или Build.getSerial().