android 开发 获取手机usb连接器的路径

android 开发 获取手机usb连接器的路径,第1张

给你一个思路:

因为所有的外部存储插入都会有一个系统监听触发,usb存储和sd卡的监听都是一样的,所以可以通过监听获得他的路径。这个是主要现象的代码,你自己补充一下其他的细节。

做一个监视外界存储设备的监听:

IntentFilter mIntentFilter = new IntentFilter();

mIntentFilteraddAction(IntentACTION_MEDIA_MOUNTED);

registerReceiver(mountReceiver, mIntentFilter);

然后在响应里边输出路径:

private BroadcastReceiver mountReceiver = new BroadcastReceiver(){

public void onReceive(Context context, Intent intent){

String path = intentgetData()getPath(); //在这里得到新插入外部存储的路径,sd卡或者usb存储能获得。

if(pathstartsWith(EXTERNAL_SDCARD_STORAGE) || pathstartsWith(EXTERNAL_USB_STORAGE)){

Loge("This Log is the path for you!",path);

};

这篇文章主要介绍了Android中查看USB连接的外接设备信息的代码实例,需要的朋友可以参考下

1,USB存储设备(如:U盘,移动硬盘):

//USB存储设备 插拔监听与 SD卡插拔监听一致。

代码如下:

private USBBroadCastReceiver

mBroadcastReceiver;

IntentFilter iFilter = new IntentFilter();

iFilteraddAction(IntentACTION_MEDIA_EJECT);

iFilteraddAction(IntentACTION_MEDIA_MOUNTED);

iFilteraddAction(IntentACTION_MEDIA_REMOVED);

iFilteraddAction(IntentACTION_MEDIA_UNMOUNTED);

iFilteraddDataScheme("file");

mBroadcastReceiver = new

USBBroadCastReceiver();

registerReceiver(mBroadcastReceiver,

iFilter);

private class USBBroadCastReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent)

{

String action = intentgetAction();

if

(actionequals(IntentACTION_MEDIA_EJECT)) {

//USB设备移除,更新UI

} else if

(actionequals(IntentACTION_MEDIA_MOUNTED)) {

//USB设备挂载,更新UI

}

}

}

//获得挂载的USB设备的存储空间使用情况

public static String getUSBStorage(Context context){

// USB Storage

//storage/udisk为USB设备在Android设备上的挂载路径不同厂商的Android设备路径不同。

//这样写同样适合于SD卡挂载。

File path = new File("/storage/udisk");

StatFs stat = new StatFs(pathgetPath());

long blockSize =

statgetBlockSize();

long totalBlocks = statgetBlockCount();

long availableBlocks = statgetAvailableBlocks();

String usedSize =

FormatterformatFileSize(context, (totalBlocks-availableBlocks)

blockSize);

String availableSize = FormatterformatFileSize(context,

availableBlocks blockSize);

return usedSize + " / " +

availableSize;//空间:已使用/可用的

}

2,USB外接输入设备(如:键盘,鼠标,扫描q)

复制代码

代码如下:

try {

//获得外接USB输入设备的信息

Process p=RuntimegetRuntime()exec("cat

/proc/bus/input/devices");

BufferedReader in = new BufferedReader(new

InputStreamReader(pgetInputStream()));

String line = null;

while((line = inreadLine())!= null){

String deviceInfo =

linetrim();

//对获取的每行的设备信息进行过滤,获得自己想要的。

}

} catch (Exception e) {

// TODO: handle

exception

eprintStackTrace();

}

另:设备信息也可以通过 adb

shell 进入执行 cat /proc/bus/input/devices看到。

USB外接输入设备信息打印如下:

复制代码

代码如下:

I: Bus=0003 Vendor=11c0 Product=0030

Version=0110

N: Name="ACRUX USB Keyboard"

P:

Phys=usb-0000:00:040-13/input1

S:

Sysfs=/devices/pci0000:00/0000:00:040/usb1/1-1/1-13/1-13:11/input/input3

U:

Uniq=

H: Handlers=mouse1 event3

B: PROP=0

B: EV=17

B: KEY=70000 0 0

0 0 0 0 0 0

B: REL=103

B: MSC=10

I: Bus=0003 Vendor=11c0

Product=0030 Version=0110 这行信息会在Android设备与USB设备数据交互的是否使用到。

关于USB外接设备如何与Android设备数据数据交互的代码书写可以参考:

>

不同的安卓系统版本打开 USB 调试模式的方法不同,所以请根据你的安卓系统版本号,来查看具体的方法。

Android 15 - Android 32,进入“设置” -> “应用” -> “开发” -> “USB调试”进行勾选,但不同的手机由于 ROM 不一样,可能有细微的差别。

Android 40X,点击“设置” -> “开发人员选项” -> “USB调试”进行勾选。

Android 41X,点击“设置” -> “开发人员选项” -> “右上角打开开发模式” -> “USB调试模式”进行勾选。

Android 42 - Android 43,点击“设置” -> “关于手机” -> “版本号(连续双击后返回主菜单)” -> “开发人员选项” -> “右上角打开开发模式” -> “USB调试模式”进行勾选。

OPhone 系统,连接 USB 数据线,在主屏幕d出窗口选择 ADB 即可。

阿里云系统,云 OS 2012,需要辅助工具打开调试,云 OS 20 默认已经打开,但系统已经被封闭无法使用。

下面分选择了市面上比较常见的 Android 23 版本和 Android 42 版本进行图文说明。

Android 23 版本 USB 调试模式打开方法

1 在主界面按菜单键,点击“系统设置”。见下图红圈处。

以上就是关于android 开发 获取手机usb连接器的路径全部的内容,包括:android 开发 获取手机usb连接器的路径、如何查看USB方式连接Android设备的外接设备信息、安卓Android手机怎样打开usb调试模式连接电脑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9719468.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存