Android之用SingleTask和TaskAffinity解决手机截取的项目启动页面问题
生活随笔
收集整理的這篇文章主要介紹了
Android之用SingleTask和TaskAffinity解决手机截取的项目启动页面问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天做的遠程截屏功能,服務端發一個命令下來,然后客戶端截屏,截屏的代碼已經寫好,因為是跨進程通信的,我最后采取的辦法是啟動activity來實現的,但是問題來了,如果用戶沒有登錄的情況下,可以截屏到任何頁面,但是登錄了之后,不在本應用里面切換的話,會回到應用的頁面,截屏的頁面是當前的應用頁面,顯然不符合需求,問了下旁邊的大神,他說用SingleTask和TaskAffinity來解決這個問題,完美解決。
首先我們回顧下activity啟動模式:
當應用運行起來后就會開啟一條線程,線程中會運行一個任務棧,當Activity實例創建后就會放入任務棧中。Activity啟動模式的設置在AndroidManifest.xml文件中,通過配置Activity的屬性android:launchMode=""設置。
1. Standard模式(默認)
我們平時直接創建的Activity都是這種模式的Activity,這種模式的Activity的特點是:只要你創建了Activity實例,一旦激活該Activity,則會向任務棧中加入新創建的實例,退出Activity則會在任務棧中銷毀該實例。
2. SingleTop模式
總結
以上是生活随笔為你收集整理的Android之用SingleTask和TaskAffinity解决手机截取的项目启动页面问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之MediaProject
- 下一篇: Android之Intent 序列化反序