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

助手阿喜 2022年1月13日17:39:32使用手册评论阅读532次1731字阅读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;
        }
    }

weinxin
扫码入群
加群获取附件资源,请查看教程说的资源名称查找,也可咨询问题,阿喜有空的时候会帮忙回复,并非时刻在线。
助手阿喜