安卓:检测USB闪存驱动器插入 [英] Android: Detect USB flash drive plugged in

查看:204
本文介绍了安卓:检测USB闪存驱动器插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有一种方法,当一个USB闪存驱动器插入一个Android设备来检测?我能够检测使用广播接收机的SD卡,但它不用于USB工作。我想避免投票。

code登记接收器:

 私人无效RegisterUpdateReceiver()
{
    IntentFilter的IntentFilter的=新的IntentFilter();
    intentFilter.addAction(android.intent.action.MEDIA_MOUNTED);
    intentFilter.addDataScheme(文件);
    myReceiver =新MyReceiver();
    this.registerReceiver(myReceiver,IntentFilter的);
}

接收器code:

 公共类MyReceiver扩展广播接收器
{
    @覆盖
    公共无效的onReceive(上下文的背景下,意图意图)
    {
        字符串行动= intent.getAction();
        如果(action.equals(android.intent.action.MEDIA_MOUNTED))
        {
            //反应事件
        }
}


解决方案

的Andr​​oid,在SDK的水平,没有USB驱动器的概念。没有关于他们应安装没有规则,当他们出现/消失等也许一些这方面的标准化会在未来的Andr​​oid版本中的广播,但今天是不存在的。

Is there a way to detect when a USB flash drive is plugged into an Android device? I'm able to detect an SD card using a broadcast receiver, but it doesn't work for USB. I'd like to avoid polling.

code to register receiver:

private void RegisterUpdateReceiver()
{
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction("android.intent.action.MEDIA_MOUNTED");
    intentFilter.addDataScheme("file");
    myReceiver = new MyReceiver();
    this.registerReceiver(myReceiver, intentFilter);
}

receiver code:

public class MyReceiver extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        String action = intent.getAction();
        if (action.equals("android.intent.action.MEDIA_MOUNTED")) 
        {
            // react to event
        }
}

解决方案

Android, at the SDK level, has no concept of USB drives. There are no rules for where they should be mounted, broadcasts for when they appear/disappear, etc. Perhaps some standardization in this area will come in future Android releases, but it is not there today.

这篇关于安卓:检测USB闪存驱动器插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆