2016-02-16 84 views
0

自從我爲Android編碼以來,我已經有一段時間了,所以我實際上並不知道是否有方法來設置生命週期結束時間(請注意:))。在調用外部應用程序後阻止應用程序關閉

問題是:我的應用需要在Adobe Reader中打開PDF文件。用戶可以檢查它是否是正確的文件(打開它幾秒鐘或幾分鐘)或全部閱讀(保持打開幾分鐘或幾小時)。 有沒有什麼方法可以阻止我的應用程序,即稱爲Adobe Reader的應用程序關閉?

+1

如果您在調用PDF閱讀器意圖之後不打電話給finish(),那麼如果用戶按下回退鍵,您的應用程序將默認在那裏。 – AAnkit

+1

只要打開PDF閱讀器,不會導致你的應用程序退出,除非你告訴它。 – durbnpoisn

+0

但是最終Android本身不會殺死它? – Leonardo

回答

1

有什麼辦法可以阻止我的應用程序,一個叫Adobe Reader的應用程序關閉嗎?

不是。

當您的應用程序不在前臺時,可以隨時終止其進程,因爲Android會釋放系統RAM以運行其他進程。這很重要,因爲大多數Android設備都沒有足夠的系統RAM來運行需要運行的所有內容。這與您啓動PDF查看器沒有任何關係。如果用戶按下HOME,或者接聽來電,或者在狀態欄中響應Notification,您的應用程序將移至後臺,您的進程可能會終止。

精心編寫的應用程序可分爲兩類:

  • 那些積極將價值傳遞給用戶,而應用程序是不是在前臺(例如,音樂播放器)。這些使用服務來告訴Android應用程序正在交付價值。

  • 那些在應用程序處於後臺時沒有做任何事情。這些應用程序將其狀態保存在文件中,其次保存在提供給活動和片段的已保存實例狀態Bundle中。這些Bundle內容將返回給您,如果用戶返回相對較快的應用程序(例如,在半小時內)。