我正在创建一个应用程序,如果它在工作配置文件中运行,则需要采取不同的行为.
有可能知道吗?
文档没有任何关于它的内容,我已经尝试添加仅在工作配置文件中可用的限制并且它可以工作,但我需要一个没有管理员任何操作的解决方案.
Android的工作信息:http: //www.android.com/work/
Android for work文档:https: //developer.android.com/training/enterprise/index.html
小智 13
我找到了一个解决方案:如果isProfileOwnerApp对一个包名称返回true,则表示您的应用程序(标记)正在工作配置文件上运行.如果您的应用程序以正常模式运行(无徽章),即使存在工作资料,isProfileOwnerApp也会为所有管理员返回false.
DevicePolicyManager devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
List<ComponentName> activeAdmins = devicePolicyManager.getActiveAdmins();
if (activeAdmins != null){
for (ComponentName admin : activeAdmins){
String packageName= admin.getPackageName();
Log.d(TAG, "admin:"+packageName);
Log.d(TAG, "profile:"+ devicePolicyManager.isProfileOwnerApp(packageName));
Log.d(TAG, "device:"+ devicePolicyManager.isDeviceOwnerApp(packageName));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2307 次 |
| 最近记录: |