解决方案 »

  1.   

    现在正在做一个插拔USB弹出框的任务,一插入USB线,就弹出UsbSettings这个类。这里涉及到两个修改点:
    1、把UsbSettings这个类的主题改成dialog,于是想到UsbSettings想关联的Activity,找到了DevelopmentSettingsActivity,于是这androidmanifest.xml查找该类,在里面添加android:theme="@android:style/Theme.Dialog",结果弹出框正常,但是切换单选按钮后,按钮切换状态显示没有更新(点击多个选项,都会标记被选中状态,back再进来就是最后被选中的状态显示,单选的切换功能正常,就是选中切换时各个按钮未能更新刷新显示)。
    2、想法是一插进USB线就弹出UsbSettings类界面,于是想到用广播的方式监听这个插线广播,做法是监听USB状态的变化(intent.getAction().equals("android.hardware.usb.action.USB_STATE")),然后每接受一次广播Count+1,拔出USB后把Count归零,当Count=1时启动UsbSettings类。可是这样的做法,当进去UsbSettings点击仅充电选项后,再点击其他选项,会另外弹出UsbSettings界面,没能达到预期效果,于是想到设置一个Tag,通过SharedPreferences解决了这个问题,但是还有一个问题没能解决。点击仅充电后直接拔线,然后再插线,不能直接弹出UsbSettings界面,通过打log,得知点击仅充电、拔线、插线、这三个动作,都没能接受到设置的广播。这点卡住了。
    以上两点小弟琢磨了几天,没能想出办法解决,望各位能帮小弟解决。万分感谢!!!
    我也不会,帮你顶一下吧