Intereting Posts
IllegalStateException: невозможно изменить идентификатор контейнера фрагмента Как заставить Android-устройство загружаться при подключении питания? Каков самый простой способ обратного преобразования массива? Jellybean (API 16) пока не отображается на моем Android SDK Manager Мой фрагмент не может быть добавлен в файл android.support.v4.app.Fragment В Android, как я могу отображать селектор приложений на основе типа файла? Как запустить устройство Genymotion с командой оболочки? Как включить несколько репозиториев в build.gradle? StateListDrawable и черепичное растровое изображение Запрос IN запроса поставщика контента для Android Перевод анимации отлично работает при определении с помощью XML и только один раз отлично по коду – Android Кросс-компиляция статического мира C hello для Android с использованием arm-linux-gnueabi-gcc Получите широту и долготу от имени адреса. НЕ Геокодер Как пользовательское приложение whatsapp обнаруживает изменение в изображении профиля своего контакта? Динамическое поколение Midi и воспроизведение на Android: возможно?

Сообщение об ошибке 'java.net.SocketException: socket failed: EACCES (Permission denied)'

Я получаю сообщение об ошибке

Java.net.SocketException: сокет не удалось: EACCES (Permission denied)

Когда я пытаюсь применить приведенный ниже код. Это функция, которую я вызываю, и дает мне это исключение.

public void run() { // TODO Auto-generated method stub URL myurl = null; try { myurl = new URL("http://10.0.2.2/list.JSON"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { URLConnection myconn = myurl.openConnection(); InputStream in = new BufferedInputStream(myconn.getInputStream()); InputStreamReader reader = new InputStreamReader(in); BufferedReader br = new BufferedReader(reader); String line; StringBuilder sb = new StringBuilder(); while ((line=br.readLine()) != null) { sb.append(line); //Toast.makeText(getApplicationContext(), "I enter here", Toast.LENGTH_LONG).show(); } jsoncode = sb.toString(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } threading = true; super.run(); } 

LogCat :

 06-30 11:33:21.457: W/System.err(619): java.net.SocketException: socket failed: EACCES (Permission denied) 06-30 11:33:21.467: W/System.err(619): at libcore.io.IoBridge.socket(IoBridge.java:573) 06-30 11:33:21.467: W/System.err(619): at java.net.PlainSocketImpl.create(PlainSocketImpl.java:201) 06-30 11:33:21.479: W/System.err(619): at java.net.Socket.checkOpenAndCreate(Socket.java:663) 06-30 11:33:21.479: W/System.err(619): at java.net.Socket.connect(Socket.java:807) 06-30 11:33:21.479: W/System.err(619): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:77) 06-30 11:33:21.479: W/System.err(619): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50) 06-30 11:33:21.479: W/System.err(619): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351) 06-30 11:33:21.479: W/System.err(619): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86) 06-30 11:33:21.479: W/System.err(619): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) 06-30 11:33:21.487: W/System.err(619): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308) 06-30 11:33:21.487: W/System.err(619): at libcore.net.http.HttpEngine.connect(HttpEngine.java:303) 06-30 11:33:21.497: W/System.err(619): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282) 06-30 11:33:21.497: W/System.err(619): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232) 06-30 11:33:21.497: W/System.err(619): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273) 06-30 11:33:21.497: W/System.err(619): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168) 06-30 11:33:21.497: W/System.err(619): at com.apk.PItestActivity$connection.run(PItestActivity.java:190) 06-30 11:33:21.507: W/System.err(619): Caused by: libcore.io.ErrnoException: socket failed: EACCES (Permission denied) 06-30 11:33:21.517: W/System.err(619): at libcore.io.Posix.socket(Native Method) 06-30 11:33:21.517: W/System.err(619): at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:169) 06-30 11:33:21.527: W/System.err(619): at libcore.io.IoBridge.socket(IoBridge.java:558) 06-30 11:33:21.527: W/System.err(619): ... 15 more 

И это мой файл манифеста:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.apk" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" /> <permission android:name="android.permission.INTERNET"></permission> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".PItestActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="addfriend"></activity> <activity android:name="updateDetails"></activity> <activity android:name="Details"></activity> <activity android:name="updateimage"></activity> </application> </manifest> 

Как я могу исправить эту проблему?

Solutions Collecting From Web of "Сообщение об ошибке 'java.net.SocketException: socket failed: EACCES (Permission denied)'"

Попробуйте,

 <uses-permission android:name="android.permission.INTERNET"/> 

вместо,

 <permission android:name="android.permission.INTERNET"></permission> 

Попробуй это:

 <uses-permission android:name="android.permission.INTERNET"/> 

И activity names вашей activity names должны быть такими, как capital letters :

 <activity android:name=".Addfriend"/> <activity android:name=".UpdateDetails"/> <activity android:name=".Details"/> <activity android:name=".Updateimage"/> 

Попробуйте переместить <uses-permission> вне <application> .

попробуй.

 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

Добавьте исходный код в файл Java, как показано ниже:

 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());