V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
znonymous
V2EX  ›  Android

安卓如何限制一个应用的退出

  •  
  •   znonymous · 2020-11-20 15:53:16 +08:00 · 9694 次点击
    这是一个创建于 1448 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安卓开发小白,想要在安卓平板上开发一款屏幕展示应用,应该如何限制通过 HOME 键或者其他方式退出当前应用程序。搜到过一个专利,https://patents.google.com/patent/CN105468394A/zh 。想要咨询一下 V 友,可否有实现方式。

    18 条回复    2020-11-21 21:53:47 +08:00
    WhiteSheep
        1
    WhiteSheep  
       2020-11-20 16:00:06 +08:00
    Android 有一个 Pin windows,不知道这个能否满足你的需求?
    Flywith24
        2
    Flywith24  
       2020-11-20 16:02:40 +08:00   ❤️ 2
    搞成 Launcher (就是你的应用就是桌面)
    lwlizhe
        3
    lwlizhe  
       2020-11-20 16:24:53 +08:00
    没搞过,不过猜测,应该需要设备管理员权限吧

    如果只是像当初那个 O 泡果奶 恶搞软件一样的那种简单防退出效果的话当我没说……
    mgrddsj
        4
    mgrddsj  
       2020-11-20 16:29:36 +08:00   ❤️ 2
    2 楼正解,在 AndroidManifest.xml 的 Main activity 里面加入以下两行就可以了:
    <category android:name="android.intent.category.HOME" />
    <category android:name="android.intent.category.DEFAULT" />

    参考 https://www.androidauthority.com/make-a-custom-android-launcher-837342-837342/ 里面的第一步。
    leoonly
        5
    leoonly  
       2020-11-20 17:07:17 +08:00
    @mgrddsj 但是触发 HOME 应该是弹窗选择用哪个 launch 吧?
    Nuttertoo1s
        6
    Nuttertoo1s  
       2020-11-20 17:14:32 +08:00
    注意不要用华为平板,华为现在是不支持第三方 launch 的
    Nuttertoo1s
        7
    Nuttertoo1s  
       2020-11-20 17:17:27 +08:00
    HOME 键之前有研究过一下,好像很难限制,不过你可以预先选好 launch,之后按 HOME 就不会退出了,或者你用 adb 把出厂的 launch 删除,然后 HOME 键默认就是你的那个应用了
    also24
        8
    also24  
       2020-11-20 17:28:42 +08:00
    @WhiteSheep #1
    正解,系统自带的功能其实挺好用的
    https://support.google.com/android/answer/9455138
    ciaoly
        9
    ciaoly  
       2020-11-20 18:13:03 +08:00 via Android
    找一个软件叫“不做手机控”,看看它的“强力屏保”选项就知道方向了。
    小弟不才,建议:
    1,悬浮窗
    2,将应用设置为锁屏界面(结合“设备管理器”)
    3,将应用做成“启动器”(垃圾华为不太行)
    SakuraOjosama
        10
    SakuraOjosama  
       2020-11-20 19:28:30 +08:00 via Android
    SystemUI 里面全局查找 onClickHome
    SakuraOjosama
        11
    SakuraOjosama  
       2020-11-20 19:31:42 +08:00 via Android
    @SakuraOjosama 不了不了,不这么搞,这样吧,不改 framework 的话,就把你那个应用做成全屏悬浮窗,改 framework 的话,找找 PhoneWindowManager
    evilcoming
        12
    evilcoming  
       2020-11-20 20:30:04 +08:00
    搞个 rom 刷入想保活的程序,再次刷入手机
    TVBG
        13
    TVBG  
       2020-11-20 20:41:22 +08:00
    通过设备管理器的 API,关键词:android Dedicated devices
    wbing
        14
    wbing  
       2020-11-20 20:50:36 +08:00 via iPhone
    屏蔽掉 home 键。
    mgrddsj
        15
    mgrddsj  
       2020-11-20 21:16:37 +08:00
    @leoonly #5 选择总是使用你自己的 app 做 launcher 就好了啊
    nicocho
        16
    nicocho  
       2020-11-20 21:59:38 +08:00
    如果是订制设备的话,好弄
    否则,真不行。之前花了半个月试过各种方案。
    fansangg
        17
    fansangg  
       2020-11-20 22:41:17 +08:00
    屏幕展示应用 的平板,不都是定制 rom 吗
    codehz
        18
    codehz  
       2020-11-21 21:53:47 +08:00
    定制设备是不是可以直接改 system ui 。。
    把界面直接内建进去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3955 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:12 · PVG 12:12 · LAX 20:12 · JFK 23:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.