Android 获得挂载的存储设备信息

Android可以通过广播来监听外部存储设备的挂载与卸载  但已经挂载的外部设备要怎么来获得它们的信息呢 ,在本篇文章中我分享一种方法:

<span style="white-space:pre">		</span>List<ExtraInfo> mExtraInfos = null;
		 try {
				Class localClass = Class.forName("android.os.ServiceManager");
				if (localClass != null) {
					Method localMethod = localClass.getMethod("getService",new Class[] { String.class });
					if (localMethod != null) {
						Object localObject = localMethod.invoke(localClass,new String[] { "mount" });
						if (localObject != null) {
							Method localMethod1 = Class.forName("android.os.storage.IMountService$Stub")
<span style="white-space:pre">											</span>.getMethod("asInterface",
											new Class[] { IBinder.class });
							if (localMethod1 != null) {
								Object localObject1 = localMethod1.invoke(
										localMethod1, new Object[] { localObject });
								if (localObject1 != null) {
									Method localMethod2 = localObject1.getClass()
											.getMethod("getAllExtraInfos",
													new Class[0]);
									if (localMethod2 != null) {
										Object localObject2 = localMethod2.invoke(
												localObject1, new Object[0]);
										if (localObject2 != null) {
											mExtraInfos = (List<ExtraInfo>) localObject2;
											
										}
									}
								}
							}
						}
					}
				}
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			} catch (NoSuchMethodException e) {
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				e.printStackTrace();
			}
通过上面的代码就可以获得已经挂载的设备的list  可以从里面去的你所想要的信息



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值