List of usage examples for android.content.pm PackageManager queryIntentActivities
public abstract List<ResolveInfo> queryIntentActivities(Intent intent, @ResolveInfoFlags int flags);
From source file:android.security.cts.BrowserTest.java
/** * Create intents for all activities that can display the given URI. *//*ww w . j a v a 2 s .c o m*/ private List<Intent> createAllIntents(Uri uri) { Intent implicit = new Intent(Intent.ACTION_VIEW); implicit.setData(uri); /* convert our implicit Intent into multiple explicit Intents */ List<Intent> retval = new ArrayList<Intent>(); PackageManager pm = mContext.getPackageManager(); List<ResolveInfo> list = pm.queryIntentActivities(implicit, PackageManager.GET_META_DATA); for (ResolveInfo i : list) { Intent explicit = new Intent(Intent.ACTION_VIEW); explicit.setClassName(i.activityInfo.packageName, i.activityInfo.name); explicit.setData(uri); explicit.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); retval.add(explicit); } return retval; }
From source file:com.ducnd.recordvideo_sample.CaptureDemoFragment.java
private boolean canHandleIntent(Intent intent) { final PackageManager mgr = getActivity().getPackageManager(); List<ResolveInfo> list = mgr.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); return list.size() > 0; }
From source file:de.hska.iam.presentationapp.activities.ChooseMediaActivity.java
public void openData(String open) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); PackageManager packageManager = getPackageManager(); List<ResolveInfo> app = packageManager.queryIntentActivities(intent, 0); boolean isAppsAvailable = app.size() > 0; if (isAppsAvailable) { if (UriUtils.isPdf(uri)) { intent.setDataAndType(uri, "application/pdf"); startActivity(Intent.createChooser(intent, "Starten mit ")); } else if (UriUtils.isImage(uri)) { intent.setDataAndType(uri, "image/*"); startActivity(Intent.createChooser(intent, "Starten mit ")); } else if (UriUtils.isVideo(uri)) { intent.setDataAndType(uri, "video/*"); startActivity(Intent.createChooser(intent, "Starten mit ")); }//ww w . j a va2 s . c o m } }
From source file:ee.ria.DigiDoc.fragment.ContainerDataFilesFragment.java
private Intent createChooserOrShareIntentForDataFile(DataFileFacade dataFileFacade) { String fileName = dataFileFacade.getFileName(); String mediaType = FileUtils.resolveMimeType(fileName); if (mediaType == null) { mediaType = "application/octet-stream"; }/*from ww w . j ava 2 s . co m*/ Uri contentUri = createShareUri(fileName); Intent sendIntent = createSendIntent(contentUri, mediaType); PackageManager packageManager = getActivity().getPackageManager(); List<ResolveInfo> allAvailableResolvers = packageManager.queryIntentActivities(sendIntent, 0); List<Intent> targetedIntents = createTargetedSendIntentsForResolvers(allAvailableResolvers, contentUri, mediaType); if (targetedIntents.isEmpty()) { throw new FailedToCreateViewIntentException(getText(R.string.file_handler_error)); } else if (targetedIntents.size() == 1) { return targetedIntents.get(0); } else { return createChooser(targetedIntents, getText(R.string.upload_to)); } }
From source file:edu.stanford.mobisocial.dungbeetle.feed.objects.AppReferenceObj.java
@Override public void handleDirectMessage(Context context, Contact from, JSONObject obj) { String packageName = obj.optString(PACKAGE_NAME); String arg = obj.optString(ARG); Intent launch = new Intent(); launch.setAction(Intent.ACTION_MAIN); launch.addCategory(Intent.CATEGORY_LAUNCHER); launch.putExtra(AppState.EXTRA_APPLICATION_ARGUMENT, arg); launch.putExtra("creator", false); launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); launch.setPackage(packageName);//from w w w. j av a2 s.c o m final PackageManager mgr = context.getPackageManager(); List<ResolveInfo> resolved = mgr.queryIntentActivities(launch, 0); if (resolved == null || resolved.size() == 0) { Toast.makeText(context, "Could not find application to handle invite", Toast.LENGTH_SHORT).show(); return; } ActivityInfo info = resolved.get(0).activityInfo; launch.setComponent(new ComponentName(info.packageName, info.name)); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, launch, PendingIntent.FLAG_CANCEL_CURRENT); (new PresenceAwareNotify(context)).notify("New Invitation", "Invitation received from " + from.name, "Click to launch application.", contentIntent); }
From source file:ee.ria.DigiDoc.fragment.ContainerDataFilesFragment.java
private Intent createChooserOrViewIntentForDataFile(DataFileFacade dataFileFacade) { String fileName = dataFileFacade.getFileName(); String mediaType = FileUtils.resolveMimeType(fileName); Uri contentUri = createShareUri(fileName); if (FileUtils.isContainer(fileName)) { return createViewIntent(contentUri, mediaType); }//from w ww . j a v a 2 s .c om Intent viewIntent = createViewIntent(contentUri, mediaType); PackageManager packageManager = getActivity().getPackageManager(); List<ResolveInfo> allAvailableResolvers = packageManager.queryIntentActivities(viewIntent, 0); ResolveInfo defaultResolver = packageManager.resolveActivity(viewIntent, 0); Map<String, Intent> targetedIntents = createdTargetedViewIntentsForResolvers(allAvailableResolvers, contentUri, mediaType); if (targetedIntents.isEmpty()) { throw new FailedToCreateViewIntentException(getText(R.string.file_handler_error)); } else if (targetedIntents.size() == 1) { return targetedIntents.values().iterator().next(); } else if (targetedIntents.containsKey(resolvePackageName(defaultResolver))) { return targetedIntents.get(resolvePackageName(defaultResolver)); } else { return createChooser(new ArrayList<>(targetedIntents.values()), getText(R.string.open_file_with)); } }
From source file:com.airk.interpolatordiagram.app.MainActivity.java
@Override public boolean onOptionsItemSelected(MenuItem item) { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; }/* w ww . j av a 2 s .c o m*/ if (item.getItemId() == R.id.action_rate) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("market://details?id=com.airk.interpolatordiagram.app")); PackageManager pm = getPackageManager(); List<ResolveInfo> list = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list.size() <= 0) { intent.setData(Uri.parse("https://market.android.com/details?id=com.airk.interpolatordiagram.app")); } startActivity(intent); } else if (item.getItemId() == R.id.action_about) { new AboutFragmentDialog().show(getSupportFragmentManager(), "about"); } return super.onOptionsItemSelected(item); }
From source file:Rangoli.testapp.Feed.NewPostActivity.java
@AfterPermissionGranted(RC_CAMERA_PERMISSIONS) private void showImagePicker() { // Check for camera permissions if (!EasyPermissions.hasPermissions(this, cameraPerms)) { EasyPermissions.requestPermissions(this, "This sample will upload a picture from your Camera", RC_CAMERA_PERMISSIONS, cameraPerms); return;/*from w w w.j ava 2s. c om*/ } // Choose file storage location File file = new File(getExternalCacheDir(), UUID.randomUUID().toString()); mFileUri = Uri.fromFile(file); // Camera final List<Intent> cameraIntents = new ArrayList<Intent>(); final Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); final PackageManager packageManager = getPackageManager(); final List<ResolveInfo> listCam = packageManager.queryIntentActivities(captureIntent, 0); for (ResolveInfo res : listCam) { final String packageName = res.activityInfo.packageName; final Intent intent = new Intent(captureIntent); intent.setComponent(new ComponentName(packageName, res.activityInfo.name)); intent.setPackage(packageName); intent.putExtra(MediaStore.EXTRA_OUTPUT, mFileUri); cameraIntents.add(intent); } // Image Picker Intent pickerIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); Intent chooserIntent = Intent.createChooser(pickerIntent, ""); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, cameraIntents.toArray(new Parcelable[cameraIntents.size()])); startActivityForResult(chooserIntent, TC_PICK_IMAGE); }
From source file:com.todoroo.astrid.helper.SyncActionHelper.java
public void performSyncAction() { List<SyncV2Provider> activeV2Providers = syncService.activeProviders(); int activeSyncs = syncActions.size() + activeV2Providers.size(); if (activeSyncs == 0) { String desiredCategory = activity.getString(R.string.SyP_label); // Get a list of all sync plugins and bring user to the prefs pane // for one of them Intent queryIntent = new Intent(AstridApiConstants.ACTION_SETTINGS); PackageManager pm = activity.getPackageManager(); List<ResolveInfo> resolveInfoList = pm.queryIntentActivities(queryIntent, PackageManager.GET_META_DATA); int length = resolveInfoList.size(); ArrayList<Intent> syncIntents = new ArrayList<Intent>(); // Loop through a list of all packages (including plugins, addons) // that have a settings action: filter to sync actions for (int i = 0; i < length; i++) { ResolveInfo resolveInfo = resolveInfoList.get(i); Intent intent = new Intent(AstridApiConstants.ACTION_SETTINGS); intent.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name); String category = MetadataHelper.resolveActivityCategoryName(resolveInfo, pm); if (GtasksPreferences.class.getName().equals(resolveInfo.activityInfo.name)) continue; if (resolveInfo.activityInfo.metaData != null) { Bundle metadata = resolveInfo.activityInfo.metaData; if (!metadata.getBoolean("syncAction")) //$NON-NLS-1$ continue; }/* ww w .j a va 2 s . co m*/ if (category.equals(desiredCategory)) { syncIntents.add(new IntentWithLabel(intent, resolveInfo.activityInfo.loadLabel(pm).toString())); } } final Intent[] actions = syncIntents.toArray(new Intent[syncIntents.size()]); DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface click, int which) { fragment.startActivityForResult(actions[which], TaskListFragment.ACTIVITY_SETTINGS); } }; if (actions.length == 1) { fragment.startActivityForResult(actions[0], TaskListFragment.ACTIVITY_SETTINGS); } else { showSyncOptionMenu(actions, listener); } } else { syncService.synchronizeActiveTasks(true, syncResultCallback); } }
From source file:org.apache.cordova.nodialogspeechrecognizer.SpeechRecognizer.java
private void checkSpeechRecognition() { PackageManager pm = cordova.getActivity().getPackageManager(); List activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); if (activities.size() != 0) { // is present this.callbackContext.success("RecognizerIntent.ACTION_RECOGNIZE_SPEECH found!"); } else {//from w w w. j a va2 s . c om // don't exist this.callbackContext.error("RecognizerIntent.ACTION_RECOGNIZE_SPEECH not found..."); } }