Я получил свое приложение для загрузки контента с веб-сайта, но намерение предлагает вам открыть ссылку в браузере и загрузить ее оттуда. Я хочу изменить это, поэтому, когда я нажимаю кнопку загрузки, вместо намерения, направляемого в браузер, он открывает всплывающее окно в моем приложении и показывает ход загрузки.Как показать прогресс загрузки в приложении
Как я могу это достичь? Я искал вокруг stackoverflow и нашел только способы, которые не работают для меня. Вот мой код -
txtLink = (EditText) findViewById(R.id.input_package);
btnOpenLink = (ImageButton) findViewById(R.id.download);
btnOpenLink.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String page = txtLink.getText().toString();
if (!TextUtils.isEmpty(page)) {
Uri uri = Uri.parse(defaultLink + page);
// Success Toast
LayoutInflater inflater = getLayoutInflater();
// Inflate the Layout
View layout = inflater.inflate(R.layout.custom_toast, null);
TextView text = (TextView) layout.findViewById(R.id.textToShow);
// Set the Text to show in TextView
text.setText("Your download should start shortly");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.FILL_HORIZONTAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
} else {
// Fail Toast
LayoutInflater inflater = getLayoutInflater();
// Inflate the Layout
View layout = inflater.inflate(R.layout.custom_toast, null);
TextView text = (TextView) layout.findViewById(R.id.textToShow);
// Set the Text to show in TextView
text.setText("Please enter a package name");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.FILL_HORIZONTAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
}
});
Может ли кто-нибудь объяснить, что является лучшим способом для создания всплывающего процесса загрузки? Потому что у меня есть поле ввода, где можно ввести вторую часть URL-адреса, и он загружает это. Eg- download.com/, но пользователь вводит «загрузку», поэтому, когда он нажимает кнопку, она переходит на download.com/download и загружается с этого URL-адреса.
Благодаря
1. you ca n всегда использует DownloadManager (особенно для больших файлов). 2. Если нет, то какой-либо http-клиент (Apache, URLConnection и т. д.). 3. для каждого клиента-клиента есть приятные примеры, как сделать это через Интернет ... так, другими словами : do more reaserch – Selvin
Вы должны создать 'AlertDialog' в новой' Деятельности' и открыть это действие 'onClick' этой ссылки для скачивания и не забудьте закончить эти несколько строк на кнопке Positive' AlertDialog' 'Intent i = новый Намерение (\t \t \t \t \t \t \t \t \t \t \t Intent.ACTION_VIEW) \t \t \t \t \t \t \t \t \t \t \t \t .setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); \t \t \t \t \t \t \t \t \t \t i.setData (Uri.parse (URL_LINK)); \t \t \t \t \t \t \t \t \t \t startActivity (я); finish(); ' –
Спасибо за ответ, я сделаю больше исследований в этом. – LoopyLoo