作者pcmanxyz (PCMANXYZ)
看板AndroidDev
標題[問題] 隱藏第三方App,或是頁面最上層
時間Tue May 24 01:02:07 2016
各位先進前輩大家好
小弟是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://webptt.com/m.aspx?n=bbs/AndroidDev/M.1464022933.A.6DB.html
1F:→ ssccg: 要把mainactivity開最上層,就是再發一個intent 05/24 06:57
2F:→ ssccg: startActivity就好啊...如果你前面的過程都在同一個Task 05/24 06:58
3F:→ ssccg: 那flag加個CLEAR_TOP自然就會把上面的都結束掉 05/24 06:59
4F:→ ssccg: 如果你的問題是從已經在背景的activity做startActivity無效 05/24 10:42
5F:→ ssccg: 這個要用service或broadcast receiver做 05/24 10:43
6F:推 jake255121: 最近也正在找答案,像原PO一樣想要把其他APP殺掉的話 05/24 22:12
7F:→ jake255121: ,是否可能用service做到呢?目前想的是用ALERT_WINDO 05/24 22:12
8F:→ jake255121: W的方式做一個浮動按鈕來讓使用者隨時能觸發殺掉前景A 05/24 22:12
9F:→ jake255121: PP的動作。但是否就算由我寫的APP啟動service(代號為A 05/24 22:12
10F:→ jake255121: ),並由A啟動了第三方APP(B),仍會因為權限問題沒辦法 05/24 22:12
11F:→ jake255121: 讓B收到A的SIGKILL呢?(無root權限的前提下)因為第一 05/24 22:12
12F:→ jake255121: 次打算寫APP,所以還沒法輕易的測試可行性... 05/24 22:12
13F:→ ssccg: 上面說的是把Activity叫回最上層的作法 05/25 10:22
14F:推 jake255121: 是的,但因為原PO之前嘗試殺程式的方案都失敗了,所以 05/25 10:52
15F:→ jake255121: 想問問看,假設原PO改用Service也無法達成原本殺掉程 05/25 10:52
16F:→ jake255121: 式的目標,那我就可以不用在這上面打轉了XD 05/25 10:52
17F:→ ssccg: killBackgroundProcesses是有用的,但是不能殺掉前景的 05/25 11:37
18F:→ ssccg: 要先叫一個Activity到最上層(不能用dialog或透明的)讓原本 05/25 12:49
19F:→ ssccg: 的App進入背景再用killBackgroundProcesses 05/25 12:50
20F:→ ssccg: 至於直接sigkill第三方App一定要有root權限 05/25 12:50
21F:→ ssccg: 原po的情況應該是可以的,可能是忘了先su? 05/25 12:51
22F:推 ak8118: 一樓說的應該可行 手機也不需root, 用Clear_TOP應該可行 05/25 13:50
23F:→ pcmanxyz: 謝謝各位先進的指教,小弟已經用SSCCG前輩的方式解決了 06/02 11:39
24F:→ pcmanxyz: 再次感謝! 06/02 11:39