Ich erhalte die folgende Ausnahme, wenn meine App ausgeführt wird:
java.net.SocketException: Permission denied (maybe missing INTERNET permission)
Wie löse ich das fehlende Berechtigungsproblem?
Janusz
Ich erhalte die folgende Ausnahme, wenn meine App ausgeführt wird:
java.net.SocketException: Permission denied (maybe missing INTERNET permission)
Wie löse ich das fehlende Berechtigungsproblem?
Ergänzen Sie die INTERNET Berechtigung für Ihre Manifestdatei.
Sie müssen diese Zeile hinzufügen:
<uses-permission android:name="android.permission.INTERNET" />
außerhalb von application
-Tag in Ihrer AndroidManifest.xml
Dieses Tag sollte VOR dem Anwendungs-TAG platziert werden. Wenn Sie if nach dem Anwendungs-TAG setzen, wird eine Warnung ausgegeben.
– Marek
6. Juni 2013 um 1:58 Uhr
Starten Sie den Emulator neu (war für mich erforderlich, bevor dies wirksam wurde).
– jcalfee314
14. Dezember 2013 um 23:44 Uhr
Ich habe ein Problem. Ich möchte keinen Zugriff auf das Internet für meine APK. Keine Berechtigung zum Manifest hinzugefügt, aber wenn ich versuche, apk zu installieren, informiert mich die Installation, dass apk VOLLSTÄNDIGEN INTERNETZUGANG benötigt. Wie kann man dieses Problem lösen? keine Berechtigungen zum Manifest hinzugefügt. Meine apk benötigt keinen vollen Internetzugang – ich möchte diese Berechtigung deaktivieren.
– Altivo
25. Februar 2015 um 13:48 Uhr
@Altivo Sehen Sie sich Ihr zusammengeführtes Manifest in ../app/build/intermediates/manifests/full/debug/AndroidManifest.xml an. Hier finden Sie alle Berechtigungen, die Ihre App verwendet. Diese wird gebildet, indem das Manifest Ihrer App sowie die Manifeste der verwendeten Bibliotheken zusammengeführt werden. Sie müssen hauptsächlich die Google Play Services-Bibliothek verwendet haben, die INTERNET- und ACCESS_NETWORK_STATE-Berechtigungen enthält.
– Sid
11. August 2016 um 3:40 Uhr
In der neuesten Version von Google Play hat Google die Notwendigkeit entfernt, um Erlaubnis für das Internet zu bitten, da “die meisten Apps es heutzutage sowieso brauchen”. Für Benutzer mit älteren Versionen wird jedoch weiterhin empfohlen, den folgenden Code in Ihrem Manifest zu belassen
<uses-permission android:name="android.permission.INTERNET" />
Irgendein Verweis auf ein Google-Dokument, wo es so steht?
– farindk
28. August 2014 um 23:56 Uhr
@farindk der erste Notenabschnitt hier: support.google.com/googleplay/answer/6014972?hl=de
– Finley Smith
3. November 2014 um 19:23 Uhr
Das Dokument, auf das Sie verlinken, spricht darüber, wie der Play Store die Internetberechtigung nicht in die primäre Liste der Berechtigungen aufnimmt, die er dem Benutzer anzeigt, wenn er fragt, ob eine App installiert werden soll. Es nicht sagen, dass eine App, die das Internet verwendet, dies nicht mehr in der Liste der verwendeten Berechtigungen ihres Manifests angeben muss. Wollen Sie das sagen alle Anwendungen implizit das Internet nutzen, ohne dies in ihren Manifesten zu erwähnen? Das heißt, wenn Janusz dieselbe App aus der Frage heraus ausgeführt hat heute Telefone, es würde nicht so gescheitert sind, wie es bei der Fragestellung der Fall war?
– Rob Kennedy
19. Januar 2015 um 23:53 Uhr
Wenn Sie die beziehen Berechtigungsdokumente Sie werden sehen, dass es nicht veraltet ist. Veraltete Berechtigungen sind Berechtigungen, die nicht verwendet werden, die Sie nicht in Ihrem Manifest haben müssen, da sie nicht mehr verwendet werden. Nicht verwendete Berechtigungen können darauf zurückzuführen sein, dass die API ersetzt wurde oder nicht mehr benötigt wird. Also ja, Sie benötigen die Internetberechtigung, um auf das Internet zuzugreifen. Sogar die grundlegenden Dokumente zum Herstellen einer Verbindung zum Internet geben an, dass die Internetberechtigung erforderlich ist.
– Zoe steht mit der Ukraine
♦
28. Oktober 2017 um 19:41 Uhr
Setzen Sie einfach über die Zeile wie unten
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.avocats.activeavocats"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.exp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Amy
Wenn Sie das Internet in Ihrer App verwenden und den Netzwerkstatus überprüfen möchten, dh ob die App mit dem Internet verbunden ist, müssen Sie den folgenden Code außerhalb von verwenden application
Schild.
Für die Internet-Berechtigung:
<uses-permission android:name="android.permission.INTERNET" />
Für Zugriffsnetzwerkstatus:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Vollständiger Code:
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Akshay Paliwal
Wenn Sie nur das Internet verwenden, verwenden Sie-
<uses-permission android:name="android.permission.INTERNET" />
Wenn Sie den Zustand des Internets erhalten, verwenden Sie auch –
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
direkt über dem Anwendungs-Tag.
Jedsada Saengow
Ich hatte das gleiche Problem sogar verwenden
<uses-permission android:name="android.permission.INTERNET" />
Wenn Sie die Web-API mit verbinden möchten http
nicht https
. Möglicherweise verwenden Sie ein Android-Gerät mit Android 9 (Pie) oder API-Level 28 oder höher. android:usesCleartextTraffic
Standardwert ist false
. Sie müssen eingestellt werden
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true" <!-- this line -->
...>
...
</application>
</manifest>
Endlich sollte es sein https
https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic