作者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/cn.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