Example usage for android.content.pm PackageManager queryIntentActivities

List of usage examples for android.content.pm PackageManager queryIntentActivities

Introduction

In this page you can find the example usage for android.content.pm PackageManager queryIntentActivities.

Prototype

public abstract List<ResolveInfo> queryIntentActivities(Intent intent, @ResolveInfoFlags int flags);

Source Link

Document

Retrieve all activities that can be performed for the given intent.

Usage

From source file:edu.mit.viral.shen.DroidFish.java

public final static boolean hasFenProvider(PackageManager manager) {
    Intent i = new Intent(Intent.ACTION_GET_CONTENT);
    i.setType("application/x-chess-fen");
    List<ResolveInfo> resolvers = manager.queryIntentActivities(i, 0);
    return (resolvers != null) && (resolvers.size() > 0);
}

From source file:de.vanita5.twittnuker.util.Utils.java

public static void addIntentToMenu(final Context context, final Menu menu, final Intent queryIntent,
        final int groupId) {
    if (context == null || menu == null || queryIntent == null)
        return;/*from w  w  w. j  ava2 s  . co  m*/
    final PackageManager pm = context.getPackageManager();
    final Resources res = context.getResources();
    final float density = res.getDisplayMetrics().density;
    final int padding = Math.round(density * 4);
    final List<ResolveInfo> activities = pm.queryIntentActivities(queryIntent, 0);
    for (final ResolveInfo info : activities) {
        final Intent intent = new Intent(queryIntent);
        final Drawable icon = info.loadIcon(pm);
        intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);
        final MenuItem item = menu.add(groupId, Menu.NONE, Menu.NONE, info.loadLabel(pm));
        item.setIntent(intent);
        final int iw = icon.getIntrinsicWidth(), ih = icon.getIntrinsicHeight();
        if (iw > 0 && ih > 0) {
            final Drawable iconWithPadding = new PaddingDrawable(icon, padding);
            iconWithPadding.setBounds(0, 0, iw, ih);
            item.setIcon(iconWithPadding);
        } else {
            item.setIcon(icon);
        }
    }
}

From source file:org.openintents.shopping.ui.ShoppingActivity.java

/**
 * Check whether an application exists that handles the pick activity.
 *
 * @return/* ww  w. j  a  v  a2  s  .com*/
 */
private boolean addLocationAlertPossible() {

    // Test whether intent exists for picking a location:
    PackageManager pm = getPackageManager();
    Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("geo:"));
    List<ResolveInfo> resolve_pick_location = pm.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    /*
     * for (int i = 0; i < resolve_pick_location.size(); i++) { Log.d(TAG,
     * "Activity name: " + resolve_pick_location.get(i).activityInfo.name);
     * }
     */

    // Check whether adding alerts is possible.
    intent = new Intent(Intent.ACTION_VIEW, Alert.Generic.CONTENT_URI);
    List<ResolveInfo> resolve_view_alerts = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

    boolean pick_location_possible = (resolve_pick_location.size() > 0);
    boolean view_alerts_possible = (resolve_view_alerts.size() > 0);
    if (debug) {
        Log.d(TAG, "Pick location possible: " + pick_location_possible);
    }
    if (debug) {
        Log.d(TAG, "View alerts possible: " + view_alerts_possible);
    }
    if (pick_location_possible && view_alerts_possible) {
        return true;
    }

    return false;
}

From source file:org.getlantern.firetweet.util.Utils.java

public static void addIntentToMenuForExtension(final Context context, final Menu menu, final int groupId,
        final String action, final String parelableKey, final String parelableJSONKey,
        final FiretweetParcelable parcelable) {
    if (context == null || menu == null || action == null || parelableKey == null || parcelable == null)
        return;/*from w w w.  ja va2s.  c om*/
    final PackageManager pm = context.getPackageManager();
    final Resources res = context.getResources();
    final float density = res.getDisplayMetrics().density;
    final int padding = Math.round(density * 4);
    final Intent queryIntent = new Intent(action);
    queryIntent.setExtrasClassLoader(context.getClassLoader());
    final List<ResolveInfo> activities = pm.queryIntentActivities(queryIntent, PackageManager.GET_META_DATA);
    for (final ResolveInfo info : activities) {
        final Intent intent = new Intent(queryIntent);
        if (isExtensionUseJSON(info)) {
            intent.putExtra(parelableJSONKey, JSONSerializer.toJSONObjectString(parcelable));
        } else {
            intent.putExtra(parelableKey, parcelable);
        }
        intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);
        final MenuItem item = menu.add(groupId, Menu.NONE, Menu.NONE, info.loadLabel(pm));
        item.setIntent(intent);
        final Drawable metaDataDrawable = getMetadataDrawable(pm, info.activityInfo,
                METADATA_KEY_EXTENSION_ICON);
        final int actionIconColor = ThemeUtils.getThemeForegroundColor(context);
        if (metaDataDrawable != null) {
            metaDataDrawable.mutate();
            metaDataDrawable.setColorFilter(actionIconColor, Mode.SRC_ATOP);
            item.setIcon(metaDataDrawable);
        } else {
            final Drawable icon = info.loadIcon(pm);
            final int iw = icon.getIntrinsicWidth(), ih = icon.getIntrinsicHeight();
            if (iw > 0 && ih > 0) {
                final Drawable iconWithPadding = new PaddingDrawable(icon, padding);
                iconWithPadding.setBounds(0, 0, iw, ih);
                item.setIcon(iconWithPadding);
            } else {
                item.setIcon(icon);
            }
        }

    }
}

From source file:carnero.cgeo.cgBase.java

public static boolean isIntentAvailable(Context context, Intent intent) {
    final PackageManager packageManager = context.getPackageManager();
    final List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);

    return (list.size() > 0);
}

From source file:com.bernard.beaconportal.activities.activity.MessageList.java

void onImport() {
    Intent i = new Intent(Intent.ACTION_GET_CONTENT);
    i.addCategory(Intent.CATEGORY_OPENABLE);
    i.setType("*/*");

    PackageManager packageManager = getPackageManager();
    List<ResolveInfo> infos = packageManager.queryIntentActivities(i, 0);

    if (infos.size() > 0) {
        startActivityForResult(Intent.createChooser(i, null), ACTIVITY_REQUEST_PICK_SETTINGS_FILE);
    } else {//from  w w w . j a  v a2 s . c o m
        showDialog(DIALOG_NO_FILE_MANAGER);
    }
}

From source file:com.codename1.impl.android.AndroidImplementation.java

@Override
public Boolean canExecute(String url) {
    try {//from   w ww .  ja  va2  s  .  c  om
        Intent it = createIntentForURL(url);
        if (it == null) {
            return false;
        }
        final PackageManager mgr = getContext().getPackageManager();
        List<ResolveInfo> list = mgr.queryIntentActivities(it, PackageManager.MATCH_DEFAULT_ONLY);
        return list.size() > 0;
    } catch (Exception err) {
        com.codename1.io.Log.e(err);
        return false;
    }
}