獲取正在運行的Launcher的包名

/**
     * 獲取正在運行桌面包名(注:存在多個桌面時且未指定默認桌面時,該方法返回Null,使用時需處理這個情況)
     */
    public static 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) {
            // should not happen. A home is always installed, isn't it?
            return null;
        }
        if (res.activityInfo.packageName.equals("android")) {
            // 有多個桌面程序存在,且未指定默認項時;     
            return null;
        } else {
            return res.activityInfo.packageName;
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章