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:Main.java

/**
 * This method queries the system to check if there is a viewer available or not. If no suitable viewer is
 * found, this method returns false./* w  w w.  j ava2s  .  co  m*/
 * @return True if PDF viewer is available, false otherwise.
 */
public static boolean isViewerAvailable(Context context, Uri uri) {
    final PackageManager packageManager = context.getPackageManager();
    final Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(uri);
    final List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}

From source file:Main.java

public static Drawable getDrawableForMimetype(Uri uri, String str, Context context) {
    if (str == null) {
        return null;
    }/*from www . jav a  2 s  . com*/
    PackageManager packageManager = context.getPackageManager();
    Intent intent = new Intent("android.intent.action.VIEW");
    intent.setDataAndType(uri, str);
    List queryIntentActivities = packageManager.queryIntentActivities(intent,
            AccessibilityNodeInfoCompat.ACTION_CUT);
    return (queryIntentActivities == null || queryIntentActivities.size() <= 0) ? null
            : ((ResolveInfo) queryIntentActivities.get(queryIntentActivities.size() - 1))
                    .loadIcon(packageManager);
}

From source file:Main.java

/*******************
 * PRIVATE METHODS *//from w ww .ja  v a 2  s.c om
 *******************/

private static boolean urlCanBeHandled(Context aContext, String aURLString) {
    PackageManager packageManager = aContext.getPackageManager();
    Intent openAppIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(aURLString));
    List activitiesCanHandle = packageManager.queryIntentActivities(openAppIntent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return activitiesCanHandle.size() != 0;
}

From source file:com.nadmm.airports.utils.SystemUtils.java

public static boolean canDisplayMimeType(Context context, String mimeType) {
    PackageManager pm = context.getPackageManager();
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setType(mimeType);/* w  w  w.  j av  a 2s  .  com*/
    List<ResolveInfo> list = pm.queryIntentActivities(intent, PackageManager.MATCH_ALL);
    return !list.isEmpty();
}

From source file:Main.java

private static String getLauncherClassName(Context context) {
    PackageManager pm = context.getPackageManager();

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);

    List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
    for (ResolveInfo resolveInfo : resolveInfos) {
        String pkgName = resolveInfo.activityInfo.applicationInfo.packageName;
        if (pkgName.equalsIgnoreCase(context.getPackageName())) {
            String className = resolveInfo.activityInfo.name;
            return className;
        }//  w w w .j  av a 2  s  . c  o m
    }
    return null;
}

From source file:Main.java

public static ResolveInfo getResolveInfo(PackageManager pm, String packageName) {
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    intent.setPackage(packageName);/* w  w w  .j  a  v  a2  s. com*/
    List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);
    if (apps != null && apps.size() > 0) {
        return apps.get(0);
    }
    return null;
}

From source file:Main.java

public static String getLauncherClassName(Context context) {

    PackageManager pm = context.getPackageManager();

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);

    List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
    for (ResolveInfo resolveInfo : resolveInfos) {
        String pkgName = resolveInfo.activityInfo.applicationInfo.packageName;
        if (pkgName.equalsIgnoreCase(context.getPackageName())) {
            String className = resolveInfo.activityInfo.name;
            return className;
        }/*from w ww  .  j  av  a  2 s  . c om*/
    }
    return null;
}

From source file:Main.java

public static String getLauncherClassName(Context context) {
    PackageManager pm = context.getPackageManager();

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);

    List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
    for (ResolveInfo resolveInfo : resolveInfos) {
        String pkgName = resolveInfo.activityInfo.applicationInfo.packageName;
        if (pkgName.equalsIgnoreCase(context.getPackageName())) {
            String className = resolveInfo.activityInfo.name;
            return className;
        }//  w w  w. j  av a  2 s . c o  m
    }
    return null;
}

From source file:Main.java

/**
 * Method to check if implicit intent to open entry for app "OI Notepad" in appstore client on current
 * device can be handled./*w  w  w  .  jav  a2  s .c om*/
 * If you try to dispatch the request to open an entry in the appstore client when no appstore client
 * is installed on the device, then the app will immediately crash. 
 * 
 * @param context Context (e.g. self-reference of calling activity) needed for accessing package manager.
 * 
 * @return <tt>True</tt> if intent to open appstore entry for "OI Notepad" can be handled, <tt>false</tt>
 *         otherwise.
 */
public static boolean isIntentToOpenAppStoreClientSupported(Context context) {

    final int flags = PackageManager.MATCH_DEFAULT_ONLY;

    PackageManager packageManager = context.getPackageManager();

    Intent intent = createIntentForOINotepadAppstoreEntry();

    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, flags);

    // If at least one app was found that can handle the intent then this method returns "true"
    return list.size() > 0;
}

From source file:Main.java

public static boolean isUpdatedVersion(Context context) {

    final PackageManager packageManager = context.getPackageManager();
    Intent intent = packageManager.getLaunchIntentForPackage("pay.with.slydepay");
    if (intent == null) {
        return false;
    }/* w  w  w. j a  v a2s.  c  o  m*/
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}