android - 如何在没有 NFC 和 ADB shell 命令的情况下让我的应用程序成为设备所有者?

标签 android device-owner

我有一个安装在 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

关于android - 如何在没有 NFC 和 ADB shell 命令的情况下让我的应用程序成为设备所有者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40359917/

相关文章:

android - Android 上的 Quickpic 布局

android - 为什么在设置所有者设备应用程序时无法创建受限配置文件?

android - 如何在android中使用setRecommendedGlobalProxy

android - 如何在可能没有托管配置提供程序的应用程序中使用托管配置?

android - QR 码置备到设备所有者模式失败

android - 在 PackageInstaller 完成( self )更新后启动应用程序

java - 循环 AsyncTask 类必须声明为抽象或实现抽象方法

android - 将 doNotStrip packagingOptions 设置为特定的 buildType

android - 如何在按下 EditText 时阻止 Scrollview 将背景图像移动到顶部?

android - 在 Android 中获取年、月和日期