微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 如何在没有NFC和ADB shell命令的情况下制作我的应用设备所有者

嘿伙计我有一个问题,我一直在寻找解决方案的日子.

我有一个安装在100台设备上的Android应用程序. (Android 5.1.1 API22和6.0.1 API 23)

https://developer.android.com/reference/android/app/admin/package-summary.html

我经历了所有这些参考但没有运气:/
使用devicePolicyManager,我收到错误:XXXXX App不是设备所有者.
我知道有一种方法可以通过shell命令(ADB)获取设备所有者,但我不能通过usb单独在所有设备上执行此操作.

DevicePolicyManager devicemanger =
(DevicePolicyManager)Forms.Context.GetSystemService(Context.DevicePolicyService);
ComponentName demoDeviceAdmin = new ComponentName(Forms.Context,
java.lang.class.FromType(typeof(DeviceAdmin)));
devicemanger.SetGlobalSetting(demoDeviceAdmin,“wifi_device_owner_configs_lockdown”,“1”);

解决方法

代码说,“设备所有者只能在未设置的设备上设置,除非它是由”adb“启动的,在这种情况下,如果没有帐户与设备相关联,我们会允许它

如果您没有设置任何帐户,可以使用dpm以编程方式设置它:

try {
    Runtime.getRuntime().exec("dpm set-device-owner com.example.deviceowner/.MyDeviceAdminReceiver");
} catch (Exception e) {
    Log.e(TAG,"device owner not set");
    Log.e(TAG,e.toString());
    e.printstacktrace();
}

参考:
http://florent-dupont.blogspot.fr/2015/01/android-shell-command-dpm-device-policy.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐