在应用使用sdcard 进行写操作的同时,插入USB,进入大容量存储模式时,应用重启,有没有哪位朋友遇到过?
通过广播可以监听到usb的动作,但在写入sdcard的同时,广播不起作用,没有进入onReceive()方法~~~

解决方案 »

  1.   

    没有人知道吗??自己顶一个,继续等待ing.....
      

  2.   

    “插入USB” 是否指把你的设备当做device连接到PC ? 若是的话,此动作需要umount 掉SD CARD,但是你正在对SD CARD做写操作,此时umount不成功,所以应该是无法进入UMS模式。
      

  3.   

    是连接到PC,楼上说的流程就是这样的,但,最后还是可以进入UMS模式的,可是正在写sdcard的应用被迫停止了,现在有一个想法,在手机插入usb时,弹出系统的选择菜单的时,可不可以拦截这个事件呢??楼上兄台再帮忙分析一下,也请各路朋友指点指点~~~
      

  4.   

    你是否想接收 ACTION_UMS_CONNECTED 这个事件,看代码好像不管SD卡有没有正在写,都是有这个时间广播出来的啊
      

  5.   

    我在广播里 获取到的是 ACTION_MEDIA_SHARED这个动作,这是在进入UMS模式时获取到的,也尝试了ACTION_MEDIA_SHARED但是不灵。如果应用现在的存储是存储在 手机 里的话,插入usb进入大容量模式就没有问题,还是怀疑在使用sdcard的同时,进入大容量是有冲突的,如果想我上面说的,在弹出菜单的同时可以对系统的菜单做个判断就好了,不知道兄台是怎么认为的?我说的方法能实现不?呵呵,继续
      

  6.   

    UMS模式真的有成功吗,你的 PC 是可以识别到你的设备的SD卡的吗?
    我觉得正常情况下,你应该可以先后收到ACTION_UMS_CONNECTED 和  ACTION_MEDIA_SHARED,不正常的时候只有收到ACTION_UMS_CONNECTED。
      

  7.   

    嗯,成功,可以进入大容量模式,但自己的应用就自动重启了。我获取的动作就是 ACTION_MEDIA_SHARED ,那个ACTION_UMS_CONNECTED 我也试过,但没有获取到。如果我的应用存储位置在手机的话,一切正常