Android: открыть URL с кнопкой для загружаемых носителей, но без открытия окна браузера.Как? - PullRequest
0 голосов
/ 31 декабря 2010

Можно ли открыть URL, не открывая ссылку в браузере?

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

URL-адрес, который я открываю, - этоURL-адрес мультимедийного содержимого (.dd), поэтому мне не нужно ничего отображать в браузере, только доступ к URL-адресу для запуска загрузки.

Вот код, который открывает URL-адрес в окне браузера, затем выполняетскачать, но как мне открыть URL, не открывая окно браузера, почти как оно открывается в фоновом режиме?

Надеюсь, кто-то может показать мне, как?

Спасибо, Люси

Button openURLLButton = (Button) findViewById(R.id.save); // Retrieve the button from the XML file
    openURLButton.setOnClickListener(new View.OnClickListener() {  //Add a listener for when the button is pressed
        public void onClick(View v) {
            openUrl();          
        }
    });
}

protected void openUrl() {
    String url = "http://domain.com/download.dd"; 
    Intent i = new Intent(Intent.ACTION_VIEW); // Create a new intent - stating you want to 'view something'
    i.setData(Uri.parse(url));  // Add the url data (allowing android to realise you want to open the browser)
    startActivity(i); // Go go go!
}

}

1 Ответ

1 голос
/ 31 декабря 2010
protected InputStream openUrl() {
    String url = "your url";
    InputStream stream;
    HttpURLConnection connection = (HttpURLConnection)new URL(url).openConnection();
    if (connection.ResponseCode == HttpURLConnection.HTTP_OK) {
        stream = connection.getInputStream();
    }
    return stream;
}

Приведенный выше код (я не включил необходимую обработку исключений) получил бы URL-адрес в виде InputStream.Это зависит от того, что вы хотите сделать с данными.InputStream - это в основном массив байтов.Я не знаком с * .dd как типом файла, но когда у вас есть поток данных, вы можете использовать другие подклассы InputStream или OutputStream, чтобы манипулировать им, например, FileOutputStream для записи данных в файл..

Редактировать:

Если вы хотите изменить обои, посмотрите на WallpaperManager в справочнике sdk.Это позволяет вам установить обои от Drawable, а также InputStream.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...