Пока:
Я нашел следующие решения
-
Использование Broadcastreceiver
Приемник вещания устарел от ICS
-
Использование Ping или Traceroute
Это определенно займет много времени и неэффективно
-
Опрос для изменений DNS-сервера
Это определенно займет много времени и неэффективно
-
Несмотря на то, что это не займет много времени, в зависимости от сетевого подключения, оно может меняться
Мой вывод:
Пока все найденные решения либо неэффективны, либо не настолько надежны.
Мои вопросы:
Если VPN подключен к устройству Android, то ОС Android должен знать об этом.
Есть ли какие-либо общедоступные API-интерфейсы для Android, чтобы их прочитать, поскольку локальное обнаружение является наиболее эффективным и надежным решением?
Есть ли другие эффективные и надежные способы его достижения (например, интеграция библиотеки C или C плюс с NDK)?
Примечание:
Я не мог найти никаких настраиваемых широковещательных отправителей /AIDL из OpenVPN для Android, а также