android diable or turn off mass storage mode by code
Please add <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> first
try {
Method method = Class.forName("android.os.ServiceManager")
.getMethod("getService", String.class);// 利用反射得到ServiceManager类中的getService方法
IBinder binder = (IBinder) method.invoke(null, "mount");
Class<?> mIMountService = Class
.forName("android.os.storage.IMountService");
Class<?>[] classes = mIMountService.getClasses();// 获取IMountService的所有内部类
Class<?> mStub = classes[0];// 获取IMountService的内部类Stub
Method asInterface = mStub.getMethod("asInterface",
new Class[] { IBinder.class });// 获取Stub的asInterface(IBinder
// binder)方法,
Object iMountService = asInterface.invoke(classes[0],
new Object[] { binder });// 通过asInterface(IBinder
// binder)方法获得IMountService类的一个实例对象mIMountService
Class<?> mIMountServicer = iMountService.getClass(); // 通过实例对象获取Class对象
Method setUsbMassStorageEnabled = mIMountServicer.getMethod(
"setUsbMassStorageEnabled", new Class[] { boolean.class });
Object result1 = setUsbMassStorageEnabled.invoke(iMountService, false);
} catch (Exception e) {
e.printStackTrace();
}
tag: android disable or turn off mass storage mode by code
没有评论:
发表评论