我有以下问题:
我的应用程序分布在 MDM 系统上,并在 Android for Work 中运行。在某些情况下,应用程序必须暂时终止 DnD 模式。为此,用户必须在应用程序启动时授予 DnD 权限。
到目前为止,一切都很好。如果我将应用程序安装在非托管区域中,该应用程序会显示在列表中,并且可以毫无问题地授予权限。一旦应用程序通过 MDM 系统分发,该应用程序就不再出现在列表中,并且无法授予权限。所有授权均已在 MDM 系统中授予。作为一个例子,我已经通过 MDM 系统分发了 Google 应用程序。该应用程序出现在列表中。

在清单中我设置了以下权限:
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
Run Code Online (Sandbox Code Playgroud)
当应用程序启动时,将执行以下代码:
NotificationManager nm = (NotificationManager).getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M && !nm.isNotificationPolicyAccessGranted()) {
Intent intent = new
Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
仅当具有 DnD 权限时才会出现此问题。所有其他权限(例如叠加权限)都可以正常显示。
我希望任何人都可以帮助我。
android mdm android-permissions android-for-work android-enterprise
我所需要的感觉相当简单,但令人沮丧的是Android for Work API 似乎没有提供开箱即用的功能。
我正在尝试创建一个Android DPC应用程序来拥有和管理工作配置文件。(不是设备所有者)。当您配置工作配置文件时,您将获得应用程序的两个实例。一个带有标记,在工作配置文件下运行,另一个未标记,在主要配置文件下运行。

我试图找出三件事:
原因是,即使在 Google 自己的示例应用程序中(参见图片),即使已经存在工作配置文件并且该应用程序实际上是所有者,它也不会尝试建立此设置并启动配置!
我一直在尝试使用 Workspace ONE SDK for Android 19.6 的客户端 SDK 和基本实现
初始化和使用
awSDKManager = SDKManager.init(getApplicationContext());
// isEnrolled returns true
if(awSDKManager.isEnrolled()){
response = awSDKManager.getEnrollmentUsername();
}
Run Code Online (Sandbox Code Playgroud)
应用程序首先上传到 Workspace ONE UEM 门户,然后使用 Android Studio 侧面加载到注册设备上。
这不是唯一使其他方法(例如
设备 uid、允许的摄像头、服务器名称、组 id)失败的方法调用也会引发相同的异常。
有没有人遇到过这个问题?门户的配置部分是否缺少任何内容。我还尝试在 SDK 中提供的示例应用程序中运行,它会抛出 open ssl load 异常 android。
我正在尝试为我们的组织访问新的 Android Management API,但在访问 API 时遇到问题。通过 API 浏览器访问 API 时,一切运行正常。为了在我们的服务器上运行它,我在 Google 云控制台中创建了一个新项目,并在那里创建了一个服务帐户。我下载了密钥并使用它在我的机器上进行本地测试。然而,在第一次 signupUrl 调用时,我收到 403 错误,指出:“调用者无权管理项目。”。我正在使用的服务帐户具有“项目所有者”角色,我不知道如何赋予它更多权限......
我正在使用的代码:
def initial_enterprise_user(request):
enterprise_token = request.GET.get('enterpriseToken')
usr = request.user
scopes = ['https://www.googleapis.com/auth/androidmanagement']
credentials = ServiceAccountCredentials.from_json_keyfile_name(settings.SERVICE_ACCOUNT, scopes=scopes)
if enterprise_token is None:
androidmanagement = build('androidmanagement', 'v1', credentials=credentials)
resp = androidmanagement.signupUrls().create(projectId=settings.ANDROID_MGMT_PROJECTID).execute()
if resp.status_code == 200:
usr.signup_url_name = resp.json()['name']
usr.save()
return render(request, 'initial_login.html', {'response_url': resp.json()['url']})
else:
return HttpResponse('Failed to get signup url')
else:
# handle token present
Run Code Online (Sandbox Code Playgroud) 前奏:
客户想要为其所有者的设备安装 EMM。有时用户希望将该设备用作工作设备(仅限出租车和快递应用程序),有时用户希望将该设备用作自己的设备(安装游戏、社交应用程序和自己的 Google 帐户)。
情况:
客户希望将其 gsuite 帐户存储在FRP 存储中(以便能够在员工离开组织时解锁手机),但不希望员工在 FR 输入其个人帐户凭据后解锁手机。
例子:
我以编程方式添加了两个工作帐户(如此处所述)。但用户拿到手机后,他进入了自己的个人 Gmail 帐户来使用 Gmail 和其他应用程序。我如何以编程方式或通过 DPC 应用程序阻止用户在恢复出厂设置后使用其个人帐户恢复对手机的访问?
在使用设备所有者应用程序配置设备时,我想使用签名校验和而不是包校验和.该应用程序将从http服务器下载.
在使用Android Lollipop时使用EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM:校验和错误时,这篇文章很棒
但我想使用EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM.请参阅:https://developer.android.com/reference/android/app/admin/DevicePolicyManager.htm
配置应用和设备所有者应用都将在Android O上运行.
如何获取我的应用程序的签名校验和,我可以在我的键/值对中使用NFC?
android provisioning device-policy-manager device-owner android-for-work
android ×5
mdm ×2
airwatch ×1
airwatchsdk ×1
cosu ×1
device-owner ×1
provisioning ×1
python ×1