[問題] 隱藏第三方App,或是頁面最上層

看板AndroidDev作者 (PCMANXYZ)時間8年前 (2016/05/24 01:02), 編輯推噓3(3021)
留言24則, 4人參與, 最新討論串1/1
各位先進前輩大家好 小弟是Android的新手 若以下有觀念上的錯誤 請先進們包涵﹑指教 --------------------------- 碰到一個問題 以下為簡易的理想流程 activitymain為主功能表 Activity1 - N 為其它功能 手機已Root 1.開啟APP (activitymain) 2.activitymain開啟 activity2 3.activity2 開啟 Youtube App(or 其它第三方Aapp) (目前手機畫面是第三方app) 4.(間隔N秒.或是 activitymain發出結束訊號) 5.結束activity2 6.結束第三方App,或是activitymain置頂顯示 (回到主功能表的意思) 整個過程中,使用者都無法碰到手機 -------------------------- 目前遇到的情況是 由於權限的問題,要結束第三方app門檻有點高 花了快一天,Google試過各式各樣的方法 如: android.os.Process.sendSignal(running.pid, 9) android.os.Process.sendSignal(running.pid, 3); killBackgroundProcesses(running.processName); restartPackage(running.processName); 即使已經有Root權限,但都無法順利砍掉process 也有給相關的android.permission (確定第三方非系統app,如:firefox) 後來退而求其次,不砍process了 只要將主功能表叫回來就可以 但我一樣無法把第三方App隱藏掉,然後叫主功能頁面表出來 (或是主功能表置最上層) 請各位先進前輩指點,謝謝 -- 免費提供全癱傷病患的溝通輔具方案 若您有認識的傷病患需要的話 歡迎跟我聯絡 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.47.146 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1464022933.A.6DB.html

05/24 06:57, , 1F
要把mainactivity開最上層,就是再發一個intent
05/24 06:57, 1F

05/24 06:58, , 2F
startActivity就好啊...如果你前面的過程都在同一個Task
05/24 06:58, 2F

05/24 06:59, , 3F
那flag加個CLEAR_TOP自然就會把上面的都結束掉
05/24 06:59, 3F

05/24 10:42, , 4F
如果你的問題是從已經在背景的activity做startActivity無效
05/24 10:42, 4F

05/24 10:43, , 5F
這個要用service或broadcast receiver做
05/24 10:43, 5F

05/24 22:12, , 6F
最近也正在找答案,像原PO一樣想要把其他APP殺掉的話
05/24 22:12, 6F

05/24 22:12, , 7F
,是否可能用service做到呢?目前想的是用ALERT_WINDO
05/24 22:12, 7F

05/24 22:12, , 8F
W的方式做一個浮動按鈕來讓使用者隨時能觸發殺掉前景A
05/24 22:12, 8F

05/24 22:12, , 9F
PP的動作。但是否就算由我寫的APP啟動service(代號為A
05/24 22:12, 9F

05/24 22:12, , 10F
),並由A啟動了第三方APP(B),仍會因為權限問題沒辦法
05/24 22:12, 10F

05/24 22:12, , 11F
讓B收到A的SIGKILL呢?(無root權限的前提下)因為第一
05/24 22:12, 11F

05/24 22:12, , 12F
次打算寫APP,所以還沒法輕易的測試可行性...
05/24 22:12, 12F

05/25 10:22, , 13F
上面說的是把Activity叫回最上層的作法
05/25 10:22, 13F

05/25 10:52, , 14F
是的,但因為原PO之前嘗試殺程式的方案都失敗了,所以
05/25 10:52, 14F

05/25 10:52, , 15F
想問問看,假設原PO改用Service也無法達成原本殺掉程
05/25 10:52, 15F

05/25 10:52, , 16F
式的目標,那我就可以不用在這上面打轉了XD
05/25 10:52, 16F

05/25 11:37, , 17F
killBackgroundProcesses是有用的,但是不能殺掉前景的
05/25 11:37, 17F

05/25 12:49, , 18F
要先叫一個Activity到最上層(不能用dialog或透明的)讓原本
05/25 12:49, 18F

05/25 12:50, , 19F
的App進入背景再用killBackgroundProcesses
05/25 12:50, 19F

05/25 12:50, , 20F
至於直接sigkill第三方App一定要有root權限
05/25 12:50, 20F

05/25 12:51, , 21F
原po的情況應該是可以的,可能是忘了先su?
05/25 12:51, 21F

05/25 13:50, , 22F
一樓說的應該可行 手機也不需root, 用Clear_TOP應該可行
05/25 13:50, 22F

06/02 11:39, , 23F
謝謝各位先進的指教,小弟已經用SSCCG前輩的方式解決了
06/02 11:39, 23F

06/02 11:39, , 24F
再次感謝!
06/02 11:39, 24F
文章代碼(AID): #1NGpULRR (AndroidDev)