获取当前android系统的launcher包名

由于定制的原因,不同手机的launcher包名不一样

比如:

miui: com.miui.home

huawei: com.huawei.android.launcher

moto and htc: com.android.launcher

samsung: com.sec.android.app.launcher

但是android手机类型数量太多,不同手机的launcher都不相同,下面的代码是获取当前运行的系统的launcher包名


public String getLauncherPackageName(Context context)
    {
        final Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        final ResolveInfo res = context.getPackageManager().resolveActivity(intent, 0);
        if(res.activityInfo == null)
        {
            return "";
        }
                //如果是不同桌面主题,可能会出现某些问题,这部分暂未处理
        if(res.activityInfo.packageName.equals("android"))
        {
            return "";
        }else
        {
            return res.activityInfo.packageName;
        }
    }

你可能感兴趣的:(android)