當前位置: 首頁>>代碼示例>>Java>>正文


Java PackageManager.getActivityInfo方法代碼示例

本文整理匯總了Java中android.content.pm.PackageManager.getActivityInfo方法的典型用法代碼示例。如果您正苦於以下問題:Java PackageManager.getActivityInfo方法的具體用法?Java PackageManager.getActivityInfo怎麽用?Java PackageManager.getActivityInfo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.content.pm.PackageManager的用法示例。


在下文中一共展示了PackageManager.getActivityInfo方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: hasFacebookActivity

import android.content.pm.PackageManager; //導入方法依賴的package包/類
public static void hasFacebookActivity(Context context, boolean shouldThrow) {
    Validate.notNull(context, "context");
    PackageManager pm = context.getPackageManager();
    ActivityInfo activityInfo = null;
    if (pm != null) {
        ComponentName componentName =
                new ComponentName(context, FacebookActivity.class);
        try {
            activityInfo = pm.getActivityInfo(componentName, PackageManager.GET_ACTIVITIES);
        } catch (PackageManager.NameNotFoundException e) {
        }
    }
    if (activityInfo == null) {
        if (shouldThrow) {
            throw new IllegalStateException(FACEBOOK_ACTIVITY_NOT_FOUND_REASON);
        } else {
            Log.w(TAG, FACEBOOK_ACTIVITY_NOT_FOUND_REASON);
        }
    }
}
 
開發者ID:eviltnan,項目名稱:kognitivo,代碼行數:21,代碼來源:Validate.java

示例2: getActivityIcon

import android.content.pm.PackageManager; //導入方法依賴的package包/類
/**
 * Gets the activity or application icon for an activity.
 *
 * @param component Name of an activity.
 * @return A drawable, or {@code null} if neither the acitivy or the application
 *         have an icon set.
 */
private Drawable getActivityIcon(ComponentName component) {
    PackageManager pm = mContext.getPackageManager();
    final ActivityInfo activityInfo;
    try {
        activityInfo = pm.getActivityInfo(component, PackageManager.GET_META_DATA);
    } catch (NameNotFoundException ex) {
        Log.w(LOG_TAG, ex.toString());
        return null;
    }
    int iconId = activityInfo.getIconResource();
    if (iconId == 0) return null;
    String pkg = component.getPackageName();
    Drawable drawable = pm.getDrawable(pkg, iconId, activityInfo.applicationInfo);
    if (drawable == null) {
        Log.w(LOG_TAG, "Invalid icon resource " + iconId + " for "
                + component.flattenToShortString());
        return null;
    }
    return drawable;
}
 
開發者ID:treasure-lau,項目名稱:CSipSimple,代碼行數:28,代碼來源:SuggestionsAdapter.java

示例3: createInstance

import android.content.pm.PackageManager; //導入方法依賴的package包/類
public static QQAuth createInstance(String str, Context context) {
    Global.setContext(context.getApplicationContext());
    f.c(f.d, "QQAuth -- createInstance() --start");
    try {
        PackageManager packageManager = context.getPackageManager();
        packageManager.getActivityInfo(new ComponentName(context.getPackageName(), "com.tencent.tauth.AuthActivity"), 0);
        packageManager.getActivityInfo(new ComponentName(context.getPackageName(), "com.tencent.connect.common.AssistActivity"), 0);
        QQAuth qQAuth = new QQAuth(str, context);
        f.c(f.d, "QQAuth -- createInstance()  --end");
        return qQAuth;
    } catch (Throwable e) {
        f.b(f.d, "createInstance() error --end", e);
        Toast.makeText(context.getApplicationContext(), "請參照文檔在Androidmanifest.xml加上AuthActivity和AssitActivity的定義 ", 1).show();
        return null;
    }
}
 
開發者ID:JackChan1999,項目名稱:letv,代碼行數:17,代碼來源:QQAuth.java

示例4: createInstance

import android.content.pm.PackageManager; //導入方法依賴的package包/類
public static QQAuth createInstance(String str, Context context) {
    Global.setContext(context.getApplicationContext());
    f.c(f.d, "QQAuth -- createInstance() --start");
    try {
        PackageManager packageManager = context.getPackageManager();
        packageManager.getActivityInfo(new ComponentName(context.getPackageName(), "com" +
                ".tencent.tauth.AuthActivity"), 0);
        packageManager.getActivityInfo(new ComponentName(context.getPackageName(), "com" +
                ".tencent.connect.common.AssistActivity"), 0);
        QQAuth qQAuth = new QQAuth(str, context);
        f.c(f.d, "QQAuth -- createInstance()  --end");
        return qQAuth;
    } catch (Throwable e) {
        f.b(f.d, "createInstance() error --end", e);
        Toast.makeText(context.getApplicationContext(), "請參照文檔在Androidmanifest" +
                ".xml加上AuthActivity和AssitActivity的定義 ", 1).show();
        return null;
    }
}
 
開發者ID:JackChan1999,項目名稱:boohee_v5.6,代碼行數:20,代碼來源:QQAuth.java

示例5: getActivityIcon

import android.content.pm.PackageManager; //導入方法依賴的package包/類
private Drawable getActivityIcon(ComponentName component) {
    PackageManager pm = this.mContext.getPackageManager();
    try {
        ActivityInfo activityInfo = pm.getActivityInfo(component, 128);
        int iconId = activityInfo.getIconResource();
        if (iconId == 0) {
            return null;
        }
        Drawable drawable = pm.getDrawable(component.getPackageName(), iconId, activityInfo.applicationInfo);
        if (drawable != null) {
            return drawable;
        }
        Log.w(LOG_TAG, "Invalid icon resource " + iconId + " for " + component.flattenToShortString());
        return null;
    } catch (NameNotFoundException ex) {
        Log.w(LOG_TAG, ex.toString());
        return null;
    }
}
 
開發者ID:JackChan1999,項目名稱:boohee_v5.6,代碼行數:20,代碼來源:SuggestionsAdapter.java

示例6: ensureValidName

import android.content.pm.PackageManager; //導入方法依賴的package包/類
/**
 * Ensures that we have a valid, non-null name.  If the provided name is null, we will return
 * the application name instead.
 */
@Thunk static CharSequence ensureValidName(Context context, Intent intent, CharSequence name) {
    if (name == null) {
        try {
            PackageManager pm = context.getPackageManager();
            ActivityInfo info = pm.getActivityInfo(intent.getComponent(), 0);
            name = info.loadLabel(pm);
        } catch (PackageManager.NameNotFoundException nnfe) {
            return "";
        }
    }
    return name;
}
 
開發者ID:TeamBrainStorm,項目名稱:SimpleUILauncher,代碼行數:17,代碼來源:InstallShortcutReceiver.java

示例7: replaceTargetDrawablesIfPresent

import android.content.pm.PackageManager; //導入方法依賴的package包/類
/**
 * Searches the given package for a resource to use to replace the Drawable on the
 * target with the given resource id
 * @param component of the .apk that contains the resource
 * @param name of the metadata in the .apk
 * @param existingResId the resource id of the target to search for
 * @return true if found in the given package and replaced at least one target Drawables
 */
public boolean replaceTargetDrawablesIfPresent(ComponentName component, String name,
            int existingResId) {
    if (existingResId == 0) return false;

    boolean replaced = false;
    if (component != null) {
        try {
            PackageManager packageManager = getContext().getPackageManager();
            // Look for the search icon specified in the activity meta-data
            Bundle metaData = packageManager.getActivityInfo(
                    component, PackageManager.GET_META_DATA).metaData;
            if (metaData != null) {
                int iconResId = metaData.getInt(name);
                if (iconResId != 0) {
                    Resources res = packageManager.getResourcesForActivity(component);
                    replaced = replaceTargetDrawables(res, existingResId, iconResId);
                }
            }
        } catch (NameNotFoundException e) {
            Log.w(THIS_FILE, "Failed to swap drawable; "
                    + component.flattenToShortString() + " not found", e);
        } catch (Resources.NotFoundException nfe) {
            Log.w(THIS_FILE, "Failed to swap drawable from "
                    + component.flattenToShortString(), nfe);
        }
    }
    if (!replaced) {
        // Restore the original drawable
        replaceTargetDrawables(getContext().getResources(), existingResId, existingResId);
    }
    return replaced;
}
 
開發者ID:treasure-lau,項目名稱:CSipSimple,代碼行數:41,代碼來源:GlowPadView.java

示例8: getComponentName

import android.content.pm.PackageManager; //導入方法依賴的package包/類
public static ComponentName getComponentName(Context context, Intent intent) {
	PackageManager packageManager = context.getPackageManager();
	ComponentName resolvedComponentName = intent.resolveActivity(packageManager);
	try {
		ActivityInfo activityInfo = packageManager.getActivityInfo(resolvedComponentName, 0);
		if (activityInfo.targetActivity != null) {
			return new ComponentName(resolvedComponentName.getPackageName(), activityInfo.targetActivity);
		}
	} catch (PackageManager.NameNotFoundException e) {
		// TODO nothing
	}
	return resolvedComponentName;
}
 
開發者ID:kranthi0987,項目名稱:easyfilemanager,代碼行數:14,代碼來源:PackageManagerUtils.java

示例9: getActivityInfo

import android.content.pm.PackageManager; //導入方法依賴的package包/類
private static ActivityInfo getActivityInfo(Activity context) {
    PackageManager packageManager = context.getPackageManager();
    try {
        return packageManager.getActivityInfo(context.getComponentName(),
                PackageManager.GET_META_DATA);
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    return null;
}
 
開發者ID:zhou-you,項目名稱:RxEasyHttp,代碼行數:11,代碼來源:AppTools.java

示例10: title

import android.content.pm.PackageManager; //導入方法依賴的package包/類
protected String title() {
    try {
        PackageManager pm = getPackageManager();
        ActivityInfo activityInfo = pm.getActivityInfo(getComponentName(), 0);
        if (activityInfo.labelRes != 0) {
            return getString(activityInfo.labelRes);
        }
    } catch (PackageManager.NameNotFoundException e) {
        Log.e(TAG, "Failed to find package manager", e);
    }
    return getString(R.string.app_name);
}
 
開發者ID:gregoreesmaa,項目名稱:minu-poska-android,代碼行數:13,代碼來源:BaseActivity.java

示例11: getActivityMetaDataBundle

import android.content.pm.PackageManager; //導入方法依賴的package包/類
/**
 * 獲取Activity中的meta-data.
 *
 * @param packageManager 應用管理
 * @param component 組件
 * @return
 */
public static Bundle getActivityMetaDataBundle(PackageManager packageManager, ComponentName component) {
    Bundle bundle = null;
    try {
        ActivityInfo ai = packageManager.getActivityInfo(component,
                PackageManager.GET_META_DATA);
        bundle = ai.metaData;
    } catch (PackageManager.NameNotFoundException e) {
        LogUtil.logE(AppUtil.class, Log.getStackTraceString(e));
    }
    return bundle;
}
 
開發者ID:senierr,項目名稱:ModuleFrame,代碼行數:19,代碼來源:AppUtil.java

示例12: get

import android.content.pm.PackageManager; //導入方法依賴的package包/類
@Nullable
@ColorInt
public static Integer get(Context context, ComponentName componentName) {
    PackageManager packageManager = context.getPackageManager();

    ActivityInfo activityInfo = null;
    PackageInfo packageInfo = null;
    Resources resources = null, activityResources = null;
    try {
        packageInfo = packageManager.getPackageInfo(componentName.getPackageName(), PackageManager.GET_META_DATA);
        resources = packageManager.getResourcesForApplication(packageInfo.applicationInfo);
        activityInfo = packageManager.getActivityInfo(componentName, 0);
        activityResources = packageManager.getResourcesForActivity(componentName);
    } catch (PackageManager.NameNotFoundException ignored) {
    }

    if (packageInfo != null && resources != null) {
        if (activityInfo != null && activityResources != null) {
            List<Integer> activityStatusBarColors = getResourceColors(activityInfo.packageName, resources, activityInfo.theme);
            if (activityStatusBarColors.size() > 0) {
                return activityStatusBarColors.get(0);
            }
        }

        List<Integer> statusBarColors = getResourceColors(packageInfo.packageName, resources, packageInfo.applicationInfo.theme);
        if (statusBarColors.size() > 0) {
            return statusBarColors.get(0);
        }

        if (packageInfo.activities != null) {
            for (ActivityInfo otherActivityInfo : packageInfo.activities) {
                List<Integer> otherStatusBarColors = getResourceColors(packageInfo.packageName, resources, otherActivityInfo.theme);
                if (otherStatusBarColors.size() > 0) {
                    return otherStatusBarColors.get(0);
                }
            }
        }
    }

    return null;
}
 
開發者ID:TheAndroidMaster,項目名稱:PaletteGetter,代碼行數:42,代碼來源:PaletteGetter.java


注:本文中的android.content.pm.PackageManager.getActivityInfo方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。