Android Intent Check isIntentAvailable(@Nonnull Context context, @Nonnull String action)

Here you can find the source of isIntentAvailable(@Nonnull Context context, @Nonnull String action)

Description

Checks whether an action has a matching Intent in the current device

License

Apache License

Parameter

Parameter Description
context A Context
action The action to check (see Intent docs

Return

true if an Intent is available, false otherwise

Declaration

public static boolean isIntentAvailable(@Nonnull Context context,
        @Nonnull String action) 

Method Source Code

//package com.java2s;
/*//ww  w.j  a va  2  s .  c om
 * Copyright 2013 Luluvise Ltd
 * Copyright 2013 Marco Salis - fast3r(at)gmail.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.List;

import javax.annotation.Nonnull;

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;

public class Main {
    /**
     * Checks whether an action has a matching Intent in the current device
     * 
     * @param context
     *            A Context
     * @param action
     *            The action to check (see {@link Intent} docs
     * @return true if an Intent is available, false otherwise
     */
    public static boolean isIntentAvailable(@Nonnull Context context,
            @Nonnull String action) {
        final PackageManager packageManager = context.getPackageManager();
        final Intent intent = new Intent(action);
        final List<ResolveInfo> list = packageManager
                .queryIntentActivities(intent,
                        PackageManager.MATCH_DEFAULT_ONLY);
        return list.size() > 0;
    }
}

Related

  1. isActionEquals(Intent intent, String expected)
  2. isBroadcastSafe(Context context, Intent intent)
  3. isIntentAvailable(Context context, String action)
  4. isIntentSafe(Context context, Intent intent)
  5. genPendingBroadcast(Context context, int requestCode, Intent broadcastIntent)
  6. isIntentAvailable(Context context, String action)
  7. isDownloadsDocument(Uri uri)
  8. isExternalStorageDocument(Uri uri)
  9. isMediaDocument(Uri uri)