我正在构建一个 VR 应用程序启动器,为此我正在运行已安装应用程序的包管理器并在 packageName 中运行“vr”的匹配命令,这仅在开发人员决定添加时才提供我需要的结果在他的应用名称中添加 VR 一词。
我想知道如何100%地进行这种检测。
VR 应用程序的 Manifest 似乎没有任何特定的区分标签,VR 应用程序必须使用特定的 JAR 并且运行 CardboardActivity 而不是常规 Activity,但我不知道如何搜索此功能。
任何帮助将不胜感激,谢谢。
我正在构建一个 VR 应用程序启动器,为此我正在运行已安装应用程序的包管理器并在 packageName 中运行“vr”的匹配命令,这仅在开发人员决定添加时才提供我需要的结果在他的应用名称中添加 VR 一词。
我想知道如何100%地进行这种检测。
VR 应用程序的 Manifest 似乎没有任何特定的区分标签,VR 应用程序必须使用特定的 JAR 并且运行 CardboardActivity 而不是常规 Activity,但我不知道如何搜索此功能。
任何帮助将不胜感激,谢谢。
随机用户的评论是正确的:
通过包管理器,应该阅读应用程序的意图并搜索以下意图:com.google.intent.category.CARDBOARD
Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
intentToResolve.addCategory("com.google.intent.category.CARDBOARD");
intentToResolve.setPackage(appInfo.packageName);
ResolveInfo ri = pm.resolveActivity(intentToResolve, 0);
如果意图是 Cardboard 应用程序,则 ResolveInfo 为 !=null。