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

继承 Application 但类无法触发 onConfigurationChanged,是什么原因呢?

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

    public class AppContext extends Application {

    public void onCreate()
    {
       super.onCreate();
       //这里正常执行了
    }
    
    @Override
    public void onConfigurationChanged(Configuration newConfig)
    {
       super.onConfigurationChanged(newConfig);
       //这里没有执行正常???是什么原因呢
       //监听旋转屏幕但事件
    }
    

    }

    SCDN 上很多文章都说我但写法是对的,onConfigurationChanged 可以用在 Application 里的,可是现在,就是不执行监听旋转屏幕但事件。

    7 条回复    2020-04-23 14:53:19 +08:00
    john6lq
        1
    john6lq  
       2020-04-20 22:31:00 +08:00 via iPhone
    看看 Activity 的这个方法有没有被调用
    winterbells
        2
    winterbells  
       2020-04-20 23:27:38 +08:00
    hmmm,这个回调不是在更新 resource 时调用的吗
    winterbells
        3
    winterbells  
       2020-04-20 23:33:40 +08:00
    哦哦,是我浅薄了。。。旋转屏幕的确有回调
    xingda920813
        4
    xingda920813  
       2020-04-21 00:01:01 +08:00
    需要同时在 manifest 里配置 configChanges 属性的, 不然不会进这个方法而是直接重启进程.

    https://www.jianshu.com/p/16dc191c52c6
    atfeel
        5
    atfeel  
    OP
       2020-04-23 12:48:10 +08:00
    @john6lq Activity 是可以的
    atfeel
        6
    atfeel  
    OP
       2020-04-23 12:51:00 +08:00
    @xingda920813 configChanges 我已经改了,继承 Acivity 的类都能正常执行,extends Application 都类就不行,明明官方实例就可以啊,不知道是哪里没弄对
    xingda920813
        7
    xingda920813  
       2020-04-23 14:53:19 +08:00
    @atfeel 抱歉, 不知道了. configChanges 属性只在 activity 标签上生效, application 标签是没有 configChanges 属性的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2709 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:10 · PVG 18:10 · LAX 02:10 · JFK 05:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.