приложение для перехода на http в фоновом режиме - PullRequest
1 голос
/ 16 июня 2019

Я пытаюсь сделать простое приложение для прожига светодиодов для моего проекта IoT , но я не мог сделать это в течение нескольких месяцев.Что я хочу сделать, это нажать кнопку на моем приложении для Android, и я хочу, чтобы она перешла на http://92.168.4.1/?State=i в фоновом режиме. Пожалуйста, помогите мне: (

 on.setOnClickListener(new View.OnClickListener() {

      @Override public void onClick(View v) {
            String webID = "http://192.168.4.1/?State=i";
            Intent bIntent = new Intent();
            bIntent.setAction(Intent.ACTION_VIEW);
            bIntent.addCategory(Intent.CATEGORY_BROWSABLE);
            bIntent.setData(Uri.parse(webID));
            startActivity(bIntent);
      }
});

1 Ответ

0 голосов
/ 16 июня 2019

Код, который вы написали выше, просит систему найти другое приложение, которое может обработать этот URL, и открыть его. Вероятно, в вашей системе нет приложений, которые бы соответствовали всем добавленным вами фильтрам, поэтому система ничего не делает. Лучшим решением, скорее всего, было бы сделать так, чтобы ваше приложение само делало HTTP-запрос.

Существует множество способов сделать HTTP-запрос прямо из вашего приложения. Старый способ сделать это - использовать HTTP-клиент Apache, как показано на в этом ответе . Это будет выглядеть примерно так (обратите внимание, что это, вероятно, не рабочий код):

@Override
public void onClick(View v) {
    HttpClient httpclient = new DefaultHttpClient(); // note that this is bundled with Android not Java
    HttpResponse response = httpclient.execute(new HttpGet("http://92.168.4.1/?State=i"));
}

Однако есть гораздо лучшие способы сделать это сейчас (или мне так сказали), некоторые из них связаны в этом ответе, и вы можете найти больше в документации

Обратите внимание, что для того, чтобы ваше приложение могло использовать Интернет, вам необходимо добавить разрешение на доступ к Интернету в манифест следующим образом:

<uses-permission android:name="android.permission.INTERNET" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...