android usb单反相机,android mtp 获取单反相机中的照片

这篇博客介绍了如何通过Android MTP(Media Transfer Protocol)API来导出相机拍摄的照片。首先注册广播监听USB设备的连接,然后通过USBDeviceConnection获取MtpDevice对象,接着获取存储器ID和照片的handle,最后利用handle获取MtpObjectInfo以读取照片详细信息。示例代码已上传至GitHub。
摘要由CSDN通过智能技术生成

通过调用Android mtp API 完成相机照片的导出

核心代码:

//注册广播

IntentFilter intentFilter = new IntentFilter();

intentFilter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);

registerReceiver(mtpReceiver, intentFilter);

//这里通过 广播回调 拿到 usbdevice

UsbDevice usbDevice = data.getParcelableExtra(UsbManager.EXTRA_DEVICE);

UsbDeviceConnection usbDeviceConnection = manager.openDevice(usbDevice);

mUsbDevice = usbDevice;

//然后再拿到mtpdevice

MtpDevice mMtpDevice = new MtpDevice(usbDevice);

//获取存储对象信息

int[] storageIds = mMtpDevice.getStorageIds();

for (int storageId : storageIds) {

//获取存储对象下照片的handle

int[] objectHandles =

mMtpDevice.getObjectHandles(storageId,MtpConstants.FORMAT_EXIF_JPEG, 0);

for (int objectHandle : objectHandles) {

//通过handle获取mtpobj,拿到mtpobj后就能通过api进行照片相关信息的获取了

MtpObjectInfo mtpobj =

mMtpDevice.getObjectInfo(objectHandle);

}

}

github地址:https://github.com/ynyao/cameraphoto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值