Я пытаюсь получить доступ с устройства Android через Wi-Fi к локальному веб-серверу, к которому я могу получить доступ со своего ноутбука либо в браузере, либо с помощью curl. Я также могу получить доступ к серверу в браузере устройства Android.
Код, который я использую для доступа к серверу, выдает исключение «соединение отклонено» .
Это код:
public void getController1() {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://192.168.1.169:8000");
HttpResponse response = null;
System.out.println(httpget.toString());
try {
response= httpclient.execute(httpget);
txtViewStatus.setText("Controller 1 - OK"+response);
} catch(Exception e) {
e.printStackTrace();
txtViewStatus.setText("Controller 1 - Error"+e);
}
}
Мне не хватало разрешения; Вы должны проверить файл манифеста
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
Вставьте это в файл манифеста:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Вы должны включить PC Suite в устройстве Android:
1: set http url in android app e.g ("http://192.168.1.100:81/api/droid/getdata")
laptop or pc wifi ip is (192.168.1.100)
2: connect android device to pc or laptop in usb port
3: goto this setting in android device setting -> more -> Tethering and portable hotspot -> pc suite(HiSuite)
4: run android app
это хорошо работает