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

助手阿喜
助手阿喜
管理员, Keymaster
300
文章
0
粉丝
使用手册评论1751字数 157阅读0分31秒阅读模式
  /**
     * 判断是否鸿蒙系统
     * @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
我的公众号
公众号已复制
 
助手阿喜