英文:
Use CrossProfileApps to run app on managed profile
问题
我正在开发一个应用程序,需要从我的智能手机的工作配置文件中运行。我已经阅读了谷歌关于工作配置文件的文档,特别是关于CrossProfileApps类的部分,理论上,该类允许应用在特定用户配置文件下运行。我能够列出这些配置文件:
List<UserHandle> userProfiles = userManager.getUserProfiles();
但是我没有找到一种方法(谷歌的文档也没有展示)如何使用和访问CrossProfileApps
的方法。该类的构造函数不是公开的,因此我无法简单地进行如下操作:
CrossProfileApps foo = new CrossProfileApps();
这些方法也不是静态的,无法这样使用:
var foo = CrossProfileApps().fooMethod();
总之,我想要解决的问题是:如何使用CrossProfileApps
类并使用它的方法来在指定的用户配置文件下运行我的应用程序或单个活动?
英文:
I'm developing a application which needs to be run from my smartphone's work profile. I've read Google's documentation on work profile and, specificaly,the CrossProfileApps class, which, in theory, allows the app to run under a specific user profile. I am able to list the profiles:
List<UserHandle> userProfiles = userManager.getUserProfiles();
But I didn't figured out a way (and neither does the Google documentation shows) how to use and access the CrossProfileApps
methods. The class constructor isn't public, so I cannot just
CrossProfileApps foo = new CrossProfileApps();
And neither are these methods static to do such:
var foo = CrossProfileApps().fooMethod();
Getting to the bottom of my question: how do I make use of the CrossProfileApps class and use it's methods in order to run my app or a single activity under a specified user profile?
答案1
得分: 0
我相信这是
CrossProfileApps crossProfileApps =(CrossProfileApps)context.getSystemService(Context.CROSS_PROFILE_APPS_SERVICE);
同时确保您的API版本在28或更高。
英文:
I believe it's
CrossProfileApps crossProfileApps = (CrossProfileApps) context.getSystemService(Context.CROSS_PROFILE_APPS_SERVICE);
Also make sure you're on API 28 or higher
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论