Android 如何检测我的平板电脑是否连接到USB以及USB是否能够读/写

Android 如何检测我的平板电脑是否连接到USB以及USB是否能够读/写,android,file,usb,android-external-storage,Android,File,Usb,Android External Storage,我使用的是松下平板电脑设备,它有USB端口,可以将任何pendrive直接连接到平板电脑 我的应用程序需要读取数据并能够将数据写入USB 有时,当usb连接时,由于连接松动或未正确安装或usb未响应,写入usb正在归档 因此,在我开始向USB写入数据之前,我想检查USB是否处于写入数据的状态?我甚至想知道我的设备在任何时候是否与USB连接(点击“上传”按钮即可)您可以为此注册广播接收器 IntentFilter filter = new IntentFilter(); filter.addAct

我使用的是松下平板电脑设备,它有USB端口,可以将任何pendrive直接连接到平板电脑

我的应用程序需要读取数据并能够将数据写入USB

有时,当usb连接时,由于连接松动或未正确安装或usb未响应,写入usb正在归档


因此,在我开始向USB写入数据之前,我想检查USB是否处于写入数据的状态?我甚至想知道我的设备在任何时候是否与USB连接(点击“上传”按钮即可)

您可以为此注册广播接收器

IntentFilter filter = new IntentFilter();
filter.addAction("android.hardware.usb.action.USB_STATE");
接受者

public class USBReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        if (intent.getExtras().getBoolean("connected")) { 
            //if connected you can read/write data to file.
        }
    }  
}

您能建议在活动中单击按钮吗?。假设我想在单击“导出”按钮时检查连接状态或装载状态。我的要求是当用户单击导出时,我应该执行以下操作。*如果USB未连接,我必须显示信息消息说“USB未连接”*如果USB未处于读/写状态,即使它已连接,我必须显示消息说“USB未处于正确状态”或者一些这样的消息*如果它已连接且处于写入状态,则继续将日期写入USB
您可以使用intentfiler来完成此操作。
。奇怪的措辞。我想说,你必须为此注册一个广播接收器。您没有演示如何执行此操作。为
Intent.ACTION\u MEDIA\u安装了
Intent.ACTION\u MEDIA\u删除了
。在
onReceive()
中,您可以获取笔驱动器的
文件路径的uri。但是您可以做得简单得多。只需向用户显示由
getExternalFilesDirs()
返回的最多三个项目,并让用户选择一个即可。第三项是USB笔驱动器,如果第二项是SD卡,那么第三项是USB笔驱动器。尽管如此,您应该意识到,您最多只能写入笔驱动器上特定于应用程序的目录。如果你想在任何地方都写,你必须使用
存储访问框架
,让用户选择具有
意图的驱动器。操作\u打开\u文档\u树
或类似操作。