首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当设备连接为海量存储时,我如何检测和处理我的应用程序?

当设备连接为海量存储时,我如何检测和处理我的应用程序?
EN

Stack Overflow用户
提问于 2011-11-30 19:33:15
回答 1查看 1.1K关注 0票数 1

我用SD资源开发了一个游戏。当我把设备作为大容量存储器连接时,设备崩溃了。这是因为当我把我的设备插入个人电脑作为大容量存储时,设备无法访问SD卡。所以我尝试了不同的方法来解决。

目前,我正在实现一个BroadcastReceiver,我正在处理操作ACTION_MEDIA_BAD_REMOVAL (如果SD卡被手动移除)和ACTION_MEDIA_SHARED (如果设备以海量存储的形式连接,它应该处理该操作,但它没有)。

当检测到这两个操作时,我发送错误消息并完成应用程序。

当我手动移除SD卡时,它可以工作,但不是大容量存储。

此外,在每一帧,我检查SD卡是否在设备上的每帧使用这种方法。

代码语言:javascript
复制
 public int hasSDCard()
 {
    String state = Environment.getExternalStorageState();
        if(Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
                return 1;
    return 0;
 }

当是0,它没有SD卡,在那里,我也发送错误信息,并完成应用程序。

但是在USB大容量存储模式下,剧照不起作用。

我的问题是:如何检测设备何时连接为USB海量存储

我应该使用哪些类?

我可以实现哪些侦听器来调用错误消息活动并完成我的应用程序?

EN

回答 1

Stack Overflow用户

发布于 2011-11-30 19:58:42

您应该使用BroadcastReceiver类。开始注册时,BroadcastReceiver表示ACTION_MEDIA_MOUNTEDACTION_MEDIA_UNMOUNTED意图。创建一个将覆盖onReceive()方法的类,该方法是处理挂载/卸载的方法。

http://developer.android.com/reference/android/content/Intent.html#ACTION_MEDIA_MOUNTED

作为额外的信息,请阅读ACTION_UMS_CONNECTED的弃用

http://developer.android.com/reference/android/content/Intent.html#ACTION_UMS_CONNECTED

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8331790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档