在android应用中,代码如何判断是否是harmony系统还是android系

助手阿喜 使用手册评论71字数 731阅读2分26秒阅读模式
  /**
     * 判断是否鸿蒙系统
     * @param context
     * @return
     */
    public static boolean isHarmony(Context context) {
        try {
            //判断是否存在鸿蒙系统的运行库,非Harmony系统或者EMUI系统的会找不到这个类而抛异常,
            //可以快速排除掉其他的Android系统
            Class<?> accountAbilityClass = Class.forName("ohos.aafwk.ability.Ability");

            //再判断是否有纯净模式的activity,来进一步区分是Harmony系统或者是EMUI系统
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setPackage("com.huawei.systemmanager");
            intent.setComponent(new ComponentName("com.huawei.systemmanager",
            "com.huawei.systemmanager.puremode.PureModeActivity"));
            PackageManager packageManager = context.getPackageManager();
            List<ResolveInfo> list = packageManager.queryIntentActivities(intent, 
            PackageManager.MATCH_DEFAULT_ONLY);
            return list.size() > 0;

        } catch (Throwable e) {
            e.printStackTrace();
            return false;
        }
    }

文章源自助手阿喜-https://zsaxi.com/4847
  • 扫码入群
  • 加群获取附件资源,请查看教程说的资源名称查找。
  • weinxin
  • 支持打赏
  • 如果觉得本文对你有帮助,可以打赏任意金额已维持网站运行。
  • weinxin
助手阿喜
  • 本文由 发表于 2022年1月13日 17:39:32