【发布时间】:2019-01-17 11:41:49
【问题描述】:
我正在使用 NanoHttpd 在设备上创建一个 WebServer(我可能只想将它用于我的应用程序或允许其他应用程序使用它)。
但我必须提供 INTERNET 权限。
我创建了一个执行此操作的应用程序,并且仅当我在清单中提供 android.permission.INTERNET 时它才有效。
我的代码确实有效,但是当我不提供 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)
我不想提供 Internet 权限,因为我想向用户保证我的应用程序提供的隐私。
我只想访问http://127.0.0.1:<port>。有可能吗?
【问题讨论】:
标签: android android-permissions android-httptransport