Downloading and Installing apk files even when activity is destroyed
I am working on an android app that contains two activities. One activity displays details of some .apk files in a list that are hosted on a remote server. When one of the list items is clicked, second activity opens which displays the complete details of the .apk file that was clicked on by the user, like google play store.
Problem
I am able to download and install the .apk file via second activity but problem arises when i destroy the second activity while the download is running. Download completes but the install prompt doesn't shows up because I unregister the Broadcast Receiver, listening for the download complete event of the DownloadManager, when the second activity is destroyed.
Question
What is the best way to handle this problem? I want to be able to download and install the .apk file even when the activity which started the download is destroyed.
Also note that user can also download more than one .apk file at a time just like google play store, so how can I gracefully handle that? so that all the .apk files can download and install one after the other.
|
show 6 more comments
I am working on an android app that contains two activities. One activity displays details of some .apk files in a list that are hosted on a remote server. When one of the list items is clicked, second activity opens which displays the complete details of the .apk file that was clicked on by the user, like google play store.
Problem
I am able to download and install the .apk file via second activity but problem arises when i destroy the second activity while the download is running. Download completes but the install prompt doesn't shows up because I unregister the Broadcast Receiver, listening for the download complete event of the DownloadManager, when the second activity is destroyed.
Question
What is the best way to handle this problem? I want to be able to download and install the .apk file even when the activity which started the download is destroyed.
Also note that user can also download more than one .apk file at a time just like google play store, so how can I gracefully handle that? so that all the .apk files can download and install one after the other.
UseIntentServicefor that.
– Chirag Savsani
Jan 1 at 7:37
As user can download multiple files at the same time, do I have to start the service each time user chooses to download a file even when another file is already being downloaded or I can use the same instance of the service that is already running?
– Nick
Jan 1 at 7:38
Yes, You can use same instance of Service.
– Chirag Savsani
Jan 1 at 7:40
can you post a sample code? that would really be helpful to understand how this will work? Just a simple code that will show the workflow
– Nick
Jan 1 at 7:42
Have a look at stackoverflow.com/questions/25659657/…
– Chirag Savsani
Jan 1 at 7:45
|
show 6 more comments
I am working on an android app that contains two activities. One activity displays details of some .apk files in a list that are hosted on a remote server. When one of the list items is clicked, second activity opens which displays the complete details of the .apk file that was clicked on by the user, like google play store.
Problem
I am able to download and install the .apk file via second activity but problem arises when i destroy the second activity while the download is running. Download completes but the install prompt doesn't shows up because I unregister the Broadcast Receiver, listening for the download complete event of the DownloadManager, when the second activity is destroyed.
Question
What is the best way to handle this problem? I want to be able to download and install the .apk file even when the activity which started the download is destroyed.
Also note that user can also download more than one .apk file at a time just like google play store, so how can I gracefully handle that? so that all the .apk files can download and install one after the other.
I am working on an android app that contains two activities. One activity displays details of some .apk files in a list that are hosted on a remote server. When one of the list items is clicked, second activity opens which displays the complete details of the .apk file that was clicked on by the user, like google play store.
Problem
I am able to download and install the .apk file via second activity but problem arises when i destroy the second activity while the download is running. Download completes but the install prompt doesn't shows up because I unregister the Broadcast Receiver, listening for the download complete event of the DownloadManager, when the second activity is destroyed.
Question
What is the best way to handle this problem? I want to be able to download and install the .apk file even when the activity which started the download is destroyed.
Also note that user can also download more than one .apk file at a time just like google play store, so how can I gracefully handle that? so that all the .apk files can download and install one after the other.
asked Jan 1 at 7:34
NickNick
3231417
3231417
UseIntentServicefor that.
– Chirag Savsani
Jan 1 at 7:37
As user can download multiple files at the same time, do I have to start the service each time user chooses to download a file even when another file is already being downloaded or I can use the same instance of the service that is already running?
– Nick
Jan 1 at 7:38
Yes, You can use same instance of Service.
– Chirag Savsani
Jan 1 at 7:40
can you post a sample code? that would really be helpful to understand how this will work? Just a simple code that will show the workflow
– Nick
Jan 1 at 7:42
Have a look at stackoverflow.com/questions/25659657/…
– Chirag Savsani
Jan 1 at 7:45
|
show 6 more comments
UseIntentServicefor that.
– Chirag Savsani
Jan 1 at 7:37
As user can download multiple files at the same time, do I have to start the service each time user chooses to download a file even when another file is already being downloaded or I can use the same instance of the service that is already running?
– Nick
Jan 1 at 7:38
Yes, You can use same instance of Service.
– Chirag Savsani
Jan 1 at 7:40
can you post a sample code? that would really be helpful to understand how this will work? Just a simple code that will show the workflow
– Nick
Jan 1 at 7:42
Have a look at stackoverflow.com/questions/25659657/…
– Chirag Savsani
Jan 1 at 7:45
Use
IntentService for that.– Chirag Savsani
Jan 1 at 7:37
Use
IntentService for that.– Chirag Savsani
Jan 1 at 7:37
As user can download multiple files at the same time, do I have to start the service each time user chooses to download a file even when another file is already being downloaded or I can use the same instance of the service that is already running?
– Nick
Jan 1 at 7:38
As user can download multiple files at the same time, do I have to start the service each time user chooses to download a file even when another file is already being downloaded or I can use the same instance of the service that is already running?
– Nick
Jan 1 at 7:38
Yes, You can use same instance of Service.
– Chirag Savsani
Jan 1 at 7:40
Yes, You can use same instance of Service.
– Chirag Savsani
Jan 1 at 7:40
can you post a sample code? that would really be helpful to understand how this will work? Just a simple code that will show the workflow
– Nick
Jan 1 at 7:42
can you post a sample code? that would really be helpful to understand how this will work? Just a simple code that will show the workflow
– Nick
Jan 1 at 7:42
Have a look at stackoverflow.com/questions/25659657/…
– Chirag Savsani
Jan 1 at 7:45
Have a look at stackoverflow.com/questions/25659657/…
– Chirag Savsani
Jan 1 at 7:45
|
show 6 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53993797%2fdownloading-and-installing-apk-files-even-when-activity-is-destroyed%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53993797%2fdownloading-and-installing-apk-files-even-when-activity-is-destroyed%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Use
IntentServicefor that.– Chirag Savsani
Jan 1 at 7:37
As user can download multiple files at the same time, do I have to start the service each time user chooses to download a file even when another file is already being downloaded or I can use the same instance of the service that is already running?
– Nick
Jan 1 at 7:38
Yes, You can use same instance of Service.
– Chirag Savsani
Jan 1 at 7:40
can you post a sample code? that would really be helpful to understand how this will work? Just a simple code that will show the workflow
– Nick
Jan 1 at 7:42
Have a look at stackoverflow.com/questions/25659657/…
– Chirag Savsani
Jan 1 at 7:45