安卓如何限制一个应用的退出 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
znonymous

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

  •  
  •   znonymous Nov 20, 2020 14325 views
    This topic created in 1991 days ago, the information mentioned may be changed or developed.

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

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

    如果只是像当初那个 O 泡果奶 恶搞软件一样的那种简单防退出效果的话当我没说……
    mgrddsj
        4
    mgrddsj  
       Nov 20, 2020   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  
       Nov 20, 2020
    @mgrddsj 但是触发 HOME 应该是弹窗选择用哪个 launch 吧?
    Nuttertoo1s
        6
    Nuttertoo1s  
       Nov 20, 2020
    注意不要用华为平板,华为现在是不支持第三方 launch 的
    Nuttertoo1s
        7
    Nuttertoo1s  
       Nov 20, 2020
    HOME 键之前有研究过一下,好像很难限制,不过你可以预先选好 launch,之后按 HOME 就不会退出了,或者你用 adb 把出厂的 launch 删除,然后 HOME 键默认就是你的那个应用了
    also24
        8
    also24  
       Nov 20, 2020
    @WhiteSheep #1
    正解,系统自带的功能其实挺好用的
    https://support.google.com/android/answer/9455138
    ciaoly
        9
    ciaoly  
       Nov 20, 2020 via Android
    找一个软件叫“不做手机控”,看看它的“强力屏保”选项就知道方向了。
    小弟不才,建议:
    1,悬浮窗
    2,将应用设置为锁屏界面(结合“设备管理器”)
    3,将应用做成“启动器”(垃圾华为不太行)
    SakuraOjosama
        10
    SakuraOjosama  
       Nov 20, 2020 via Android
    SystemUI 里面全局查找 onClickHome
    SakuraOjosama
        11
    SakuraOjosama  
       Nov 20, 2020 via Android
    @SakuraOjosama 不了不了,不这么搞,这样吧,不改 framework 的话,就把你那个应用做成全屏悬浮窗,改 framework 的话,找找 PhoneWindowManager
    evilcoming
        12
    evilcoming  
       Nov 20, 2020
    搞个 rom 刷入想保活的程序,再次刷入手机
    TVBG
        13
    TVBG  
       Nov 20, 2020
    通过设备管理器的 API,关键词:android Dedicated devices
    benson458
        14
    benson458  
       Nov 20, 2020 via iPhone
    屏蔽掉 home 键。
    mgrddsj
        15
    mgrddsj  
       Nov 20, 2020
    @leoonly #5 选择总是使用你自己的 app 做 launcher 就好了啊
    nicocho
        16
    nicocho  
       Nov 20, 2020
    如果是订制设备的话,好弄
    否则,真不行。之前花了半个月试过各种方案。
    fansangg
        17
    fansangg  
       Nov 20, 2020
    屏幕展示应用 的平板,不都是定制 rom 吗
    codehz
        18
    codehz  
       Nov 21, 2020
    定制设备是不是可以直接改 system ui 。。
    把界面直接内建进去
    About     Help     Advertise     Blog     API     FAQ     Solana     2579 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 68ms UTC 12:12 PVG 20:12 LAX 05:12 JFK 08:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86