Downloading and Installing apk files even when activity is destroyed












1















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.










share|improve this question























  • 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













  • 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
















1















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.










share|improve this question























  • 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













  • 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














1












1








1


0






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.










share|improve this question














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.







android






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 1 at 7:34









NickNick

3231417




3231417













  • 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













  • 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













  • 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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Mossoró

Error while reading .h5 file using the rhdf5 package in R

Pushsharp Apns notification error: 'InvalidToken'