android.content.pm.ActivityInfo#loadLabel()源码实例Demo

下面列出了android.content.pm.ActivityInfo#loadLabel() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private boolean selectAgentLabel() {
	final PackageManager pm = getPackageManager();
	final Intent query = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setPackage(AGENT_WECHAT_PACKAGE);
	final List<ResolveInfo> resolves = pm.queryIntentActivities(query, PackageManager.GET_DISABLED_COMPONENTS);
	final int size = resolves.size();
	if (size <= 1) throw new IllegalStateException("No activities found for " + query);
	final CharSequence[] labels = new CharSequence[size + 1];
	final String[] names = new String[size];
	for (int i = 0; i < size; i ++) {
		final ActivityInfo activity = resolves.get(i).activityInfo;
		labels[i] = activity.loadLabel(pm);
		names[i] = activity.name;
	}
	labels[size] = getText(R.string.action_disable_agent_launcher_entrance);
	new AlertDialog.Builder(this).setSingleChoiceItems(labels, -1, (dialog, which) -> {	// TODO: Item cannot be selected on Sony device?
		for (int i = 0; i < names.length; i ++)
			pm.setComponentEnabledSetting(new ComponentName(AGENT_WECHAT_PACKAGE, names[i]),
					i == which ? COMPONENT_ENABLED_STATE_ENABLED : COMPONENT_ENABLED_STATE_DISABLED, DONT_KILL_APP);
		dialog.dismiss();
	}).show();
	return true;
}
 
源代码2 项目: CSipSimple   文件: Theme.java
public static HashMap<String, String> getAvailableThemes(Context ctxt){
	HashMap<String, String> result = new HashMap<String, String>();
	result.put("", ctxt.getResources().getString(R.string.app_name));
	
	PackageManager packageManager = ctxt.getPackageManager();
	Intent it = new Intent(SipManager.ACTION_GET_DRAWABLES);
	
	List<ResolveInfo> availables = packageManager.queryBroadcastReceivers(it, 0);
	Log.d(THIS_FILE, "We found " + availables.size() + "themes");
	for(ResolveInfo resInfo : availables) {
		Log.d(THIS_FILE, "We have -- "+resInfo);
		ActivityInfo actInfos = resInfo.activityInfo;
		ComponentName cmp = new ComponentName(actInfos.packageName, actInfos.name);
		String label = (String) actInfos.loadLabel(packageManager);
		if(TextUtils.isEmpty(label)) {
		    label = (String) resInfo.loadLabel(packageManager);
		}
		result.put(cmp.flattenToString(), label);
	}
	
	return result;
}
 
源代码3 项目: codeexamples-android   文件: PurgeableBitmap.java
private boolean detectIfPurgeableRequest() {
    PackageManager pm = getPackageManager();
    CharSequence labelSeq = null;
    try {
      ActivityInfo info = pm.getActivityInfo(this.getComponentName(),
          PackageManager.GET_META_DATA);
      labelSeq = info.loadLabel(pm);
    } catch (NameNotFoundException e) {
      e.printStackTrace();
      return false;
    }

    String[] components = labelSeq.toString().split("/");
    if (components[components.length - 1].equals("Purgeable")) {
        return true;
    } else {
        return false;
    }
}
 
源代码4 项目: LaunchEnr   文件: InstallShortcutReceiver.java
/**
 * 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;
}
 
源代码5 项目: island   文件: SetupViewModel.java
private static CharSequence readOwnerLabel(final Context context, final ComponentName owner) {
	final PackageManager pm = context.getPackageManager();
	try {
		final ActivityInfo owner_info = pm.getReceiverInfo(owner, 0);	// It should be a BroadcastReceiver
		if (owner_info != null) return owner_info.loadLabel(pm);
		return pm.getApplicationInfo(owner.getPackageName(), 0).loadLabel(pm);	// If not, use app label
	} catch (final PackageManager.NameNotFoundException ignored) {
		return null;
	}
}
 
源代码6 项目: Trebuchet   文件: InstallShortcutReceiver.java
/**
 * 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;
}
 
源代码7 项目: AcDisplay   文件: BlacklistActivity.java
/**
 * Switch to parent fragment and store the grand parent's info
 *
 * @param className name of the activity wrapper for the parent fragment.
 */
private void switchToParent(String className) {
    final ComponentName cn = new ComponentName(this, className);
    try {
        final PackageManager pm = getPackageManager();
        final ActivityInfo parentInfo = pm.getActivityInfo(cn, PackageManager.GET_META_DATA);

        if (parentInfo != null && parentInfo.metaData != null) {
            String fragmentClass = parentInfo.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);
            CharSequence fragmentTitle = parentInfo.loadLabel(pm);
            Header parentHeader = new Header();
            parentHeader.fragment = fragmentClass;
            parentHeader.title = fragmentTitle;
            mCurrentHeader = parentHeader;

            switchToHeaderLocal(parentHeader);
            highlightHeader(mTopLevelHeaderId);

            mParentHeader = new Header();
            mParentHeader.fragment
                    = parentInfo.metaData.getString(META_DATA_KEY_PARENT_FRAGMENT_CLASS);
            mParentHeader.title = parentInfo.metaData.getString(META_DATA_KEY_PARENT_TITLE);
        }
    } catch (NameNotFoundException nnfe) {
        Log.w(TAG, "Could not find parent activity : " + className);
    }
}
 
/**
 * 根据ResolveInfo生成ShareTarget
 *
 * @param resolveInfo ResolveInfo
 * @return ShareTarget
 */
private ShareTarget toShareTarget(ResolveInfo resolveInfo) {
    if (resolveInfo == null || resolveInfo.activityInfo == null) {
        return null;
    }
    ActivityInfo info = resolveInfo.activityInfo;
    ShareTarget target = new ShareTarget(info.loadLabel(mPackageManager), info.loadIcon(mPackageManager), null);
    target.packageName = info.packageName;
    target.className = info.name;
    return target;
}
 
/**
 * 根据ResolveInfo生成ShareTarget
 *
 * @param resolveInfo ResolveInfo
 * @return ShareTarget
 */
private ShareTarget toShareTarget(ResolveInfo resolveInfo) {
    if (resolveInfo == null || resolveInfo.activityInfo == null) {
        return null;
    }
    ActivityInfo info = resolveInfo.activityInfo;
    ShareTarget target = new ShareTarget(info.loadLabel(mPackageManager), info.loadIcon(mPackageManager), null);
    target.packageName = info.packageName;
    target.className = info.name;
    return target;
}
 
源代码10 项目: HeadsUp   文件: BlacklistActivity.java
/**
 * Switch to parent fragment and store the grand parent's info
 *
 * @param className name of the activity wrapper for the parent fragment.
 */
private void switchToParent(String className) {
    final ComponentName cn = new ComponentName(this, className);
    try {
        final PackageManager pm = getPackageManager();
        final ActivityInfo parentInfo = pm.getActivityInfo(cn, PackageManager.GET_META_DATA);

        if (parentInfo != null && parentInfo.metaData != null) {
            String fragmentClass = parentInfo.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);
            CharSequence fragmentTitle = parentInfo.loadLabel(pm);
            Header parentHeader = new Header();
            parentHeader.fragment = fragmentClass;
            parentHeader.title = fragmentTitle;
            mCurrentHeader = parentHeader;

            switchToHeaderLocal(parentHeader);
            highlightHeader(mTopLevelHeaderId);

            mParentHeader = new Header();
            mParentHeader.fragment
                    = parentInfo.metaData.getString(META_DATA_KEY_PARENT_FRAGMENT_CLASS);
            mParentHeader.title = parentInfo.metaData.getString(META_DATA_KEY_PARENT_TITLE);
        }
    } catch (NameNotFoundException nnfe) {
        Log.w(TAG, "Could not find parent activity : " + className);
    }
}