通过代码android Lollipop禁止MTP连接

时间:2015-12-27 10:20:44

标签: android android-5.1.1-lollipop device-admin

我正在尝试通过API级别22中的代码禁用与PC的MTP连接。

此方法使用21之前的Google API:

public void setUserRestriction (String key, boolean value)

但在API级别22中,方法更改为:

public void addUserRestriction (ComponentName admin, String key)

类中
DevicePolicyManager.

我的主要问题是我找不到可以执行此操作的设备管理员 (或者我可能不知道如何创建它) 我有钥匙:

DISALLOW_USB_FILE_TRANSFER 

但我不知道我需要使用的ComponentName ......

有人试过吗?我在我的应用程序中调用此代码。 谢谢!

1 个答案:

答案 0 :(得分:0)

您应该已经拥有DeviceAdminReceiver子类,只需将其作为ComponentName对象传递。

public void addUserRestriction (ComponentName admin, String key)
Parameters
   admin - Which DeviceAdminReceiver this request is associated with.
   key   - The key of the restriction. See the constants in UserManager for the list of keys.

这样称呼:

addUserRestriction(new ComponentName(context, MyDeviceAdminReceiver.class), 
                                   UserManager.DISALLOW_USB_FILE_TRANSFER);

文档中有一个示例DeviceAdminReceiver: http://developer.android.com/reference/android/app/admin/DeviceAdminReceiver.html