操作中按了home键后广播为什么接收不了问题

最近在做的USB文件浏览器对于空文件夹的情况会弹出“文件为空,请返回”的dialog。但是在点开空文件夹之前若按下home键后,再启动器usb的app,就会出现文件为空,请返回”的dialog不会弹出。

定位发现是该广播并未接收到。

广播是在oncreate方法里面注册的,原因为home键按下以后,再次按回来时广播并没有注册,因此接收不到空文件发出的消息,因此不弹框。

解决方法:再次按下home键以后启用了activity的onrestart方法,将注册广播的片段在onrestart方法里面再次调用一下即可。

    @Override
    protected void onRestart() {
        super.onStart();
        Log.v(TAG, "onRestart" );
        registerEmptyDirctoryBroadcast();
    }