美文网首页
android 桌面launcher app开发遇坑问题记录

android 桌面launcher app开发遇坑问题记录

作者: 大胡子的机器人 | 来源:发表于2019-08-03 23:09 被阅读0次

1、设置入口的activity,需要是展示桌面的activity,而不能是启动页。比如常规app都是先进入splashActivity,然后进入主页HomeActivity。但是在android 桌面app中,必须入口页就是主页。(因为点击Home按键时会触发入口页,而通常点击home按键是进入桌面程序的主页)

2、主页不能设置android:windowIsTranslucent=true,比如在桌面中打开设置app后,点击Home按键,会导致被背景透明覆盖,且崩溃。我使用到的解决思路有:

  • a、开始以为是生命周期中的某一个环节导致主页崩溃从而点击home按键又会重建onCreate,在每一个生命周期中打上日志并注释掉逻辑代码。最后发现生命周期正常调用。只是在点击HOme按键的时候会重新调用onCreate方法,很是郁闷。
    • b、当前类代码排除法,以为是HomeActivity主页里面有些逻辑影响了生命周期。然后就一点点把onCreate中的代码删除,最后主页只有背景图片的时候,还是发现还是会复现上述bug。
    • c、通过DebugActivity复现比较法。重新新建一个DebugActivity,从0开始搭建一个桌面程序,此时整个程序仅仅启动这一个页面,排除其他页面造成的干扰,发现DebugActivity却可以正常使用,并且点击home按键也能正常回到桌面主页DebugActivity,此时比较DebugActivity和HomeActivity对应的xml文件代码以及清单文件,最后发现在清单文件中的启动模式和theme不一致,最终比较才确定是windowIsTranslucent导致。
      代码如下:
<item name="android:windowIsTranslucent">true</item>

相关文章

网友评论

      本文标题:android 桌面launcher app开发遇坑问题记录

      本文链接:https://www.haomeiwen.com/subject/jztsdctx.html