Я использую NanoHttpd для создания WebServer на устройстве (я могу захотеть использовать его только для моего Приложения или разрешить использовать его другим приложениям).
Но я должен предоставить разрешение ИНТЕРНЕТ.
Я создал приложение, которое делает это, и оно работает только тогда, когда я предоставляю android.permission.INTERNET
в манифесте.
Мой код на самом деле работает, но когда я не предоставляю разрешение ИНТЕРНЕТ, я получаю исключение в logcat:
Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
at java.net.ServerSocket.createImpl(ServerSocket.java:308)
at java.net.ServerSocket.getImpl(ServerSocket.java:258)
at java.net.ServerSocket.setReuseAddress(ServerSocket.java:716)
at fi.iki.elonen.NanoHTTPD.start(NanoHTTPD.java:2319)
at cc.siara.android.NanoHttpServer.<init>(NanoHttpServer.kt:16)
at cc.siara.android.App.onCreate(App.kt:23)
Я не хочу предоставлять разрешение на доступ в Интернет, потому что хочу заверить пользователя в конфиденциальности, которую обеспечивает мое приложение.
Все, что я хочу получить, это http://127.0.0.1:<port>
. Возможно ли это?