Может ли кто-нибудь сказать мне, как импортировать скрытый/внутренний API Android в мое приложение?
Например, com.android.internal.telephony
. Как импортировать APi в приложение? Заранее спасибо.
Если классы доступны во время выполнения, но не время компиляции, да, вы не можете скомпилировать их непосредственно в своем коде, но вы все равно можете попытаться загрузить их через отражение. Мы использовали это в Android 1.x для загрузки скрытого внутреннего класса, который контролировал светодиодный индикатор на некоторых устройствах. Это сложно, так как каждый вызов метода превращается в несколько строк вызовов java.lang.reflect
классов. Глянь сюда:
Конечно, эти API-интерфейсы или классы вообще не будут гарантированно присутствовать на всех устройствах и могут меняться или исчезать, поэтому это хрупкое. И может быть, что SecurityManager
защищает доступ к определенным внутренностям, я не знаю.