当前位置: 首页>>代码示例>>Java>>正文


Java IntentFilter.countDataAuthorities方法代码示例

本文整理汇总了Java中android.content.IntentFilter.countDataAuthorities方法的典型用法代码示例。如果您正苦于以下问题:Java IntentFilter.countDataAuthorities方法的具体用法?Java IntentFilter.countDataAuthorities怎么用?Java IntentFilter.countDataAuthorities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.content.IntentFilter的用法示例。


在下文中一共展示了IntentFilter.countDataAuthorities方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Used to check whether there is a specialized handler for a given intent.
 * @param intent The intent to check with.
 * @return Whether there is a specialized handler for the given intent.
 */
private static boolean hasSpecializedHandlerIntents(Context context, Intent intent) {
    try {
        PackageManager pm = context.getPackageManager();
        List<ResolveInfo> handlers = pm.queryIntentActivities(
                intent,
                PackageManager.GET_RESOLVED_FILTER);
        if (handlers == null || handlers.size() == 0) {
            return false;
        }
        for (ResolveInfo resolveInfo : handlers) {
            IntentFilter filter = resolveInfo.filter;
            if (filter == null) continue;
            if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) continue;
            if (resolveInfo.activityInfo == null) continue;
            return true;
        }
    } catch (RuntimeException e) {
        Log.e(TAG, "Runtime exception while getting specialized handlers");
    }
    return false;
}
 
开发者ID:Vavassor,项目名称:Tusky,代码行数:27,代码来源:CustomTabsHelper.java

示例2: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Used to check whether there is a specialized handler for a given intent.
 * @param intent The intent to check with.
 * @return Whether there is a specialized handler for the given intent.
 */
private static boolean hasSpecializedHandlerIntents(Context context, Intent intent) {
    try {
        PackageManager pm = context.getPackageManager();
        List<ResolveInfo> handlers = pm.queryIntentActivities(
                intent,
                PackageManager.GET_RESOLVED_FILTER);
        if (handlers == null || handlers.size() == 0) {
            return false;
        }
        for (ResolveInfo resolveInfo : handlers) {
            IntentFilter filter = resolveInfo.filter;
            if (filter == null) continue;
            if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) continue;
            if (resolveInfo.activityInfo == null) continue;
            return true;
        }
    } catch (RuntimeException ignored) {
        Log.e(TAG, "Runtime exception while getting specialized handlers");
    }
    return false;
}
 
开发者ID:alphater,项目名称:garras,代码行数:27,代码来源:CustomTabsHelper.java

示例3: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Used to check whether there is a specialized handler for a given intent.
 *
 * @param intent The intent to check with.
 * @return Whether there is a specialized handler for the given intent.
 */
private static boolean hasSpecializedHandlerIntents(Context context, Intent intent) {
  try {
    PackageManager pm = context.getPackageManager();
    List<ResolveInfo> handlers = pm.queryIntentActivities(
        intent,
        PackageManager.GET_RESOLVED_FILTER);
    if (handlers == null || handlers.size() == 0) {
      return false;
    }
    for (ResolveInfo resolveInfo : handlers) {
      IntentFilter filter = resolveInfo.filter;
      if (filter == null) continue;
      if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) continue;
      if (resolveInfo.activityInfo == null) continue;
      return true;
    }
  } catch (RuntimeException e) {
    Log.e(TAG, "Runtime exception while getting specialized handlers");
  }
  return false;
}
 
开发者ID:tomoya92,项目名称:android-apps,代码行数:28,代码来源:CustomTabsHelper.java

示例4: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Used to check whether there is a specialized handler for a given intent.
 *
 * @param intent
 *         The intent to check with.
 * @return Whether there is a specialized handler for the given intent.
 */
private static boolean hasSpecializedHandlerIntents(Context context, Intent intent) {
    try {
        PackageManager pm = context.getPackageManager();
        List<ResolveInfo> handlers = pm.queryIntentActivities(
                intent,
                PackageManager.GET_RESOLVED_FILTER);
        if (handlers == null || handlers.size() == 0) {
            return false;
        }
        for (ResolveInfo resolveInfo : handlers) {
            IntentFilter filter = resolveInfo.filter;
            if (filter == null) continue;
            if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) continue;
            if (resolveInfo.activityInfo == null) continue;
            return true;
        }
    } catch (RuntimeException e) {
        Log.e(TAG, "Runtime exception while getting specialized handlers");
    }
    return false;
}
 
开发者ID:duyp,项目名称:mvvm-template,代码行数:29,代码来源:CustomTabsHelper.java

示例5: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Used to check whether there is a specialized handler for a given intent.
 * @param intent The intent to check with.
 * @return Whether there is a specialized handler for the given intent.
 */
private static boolean hasSpecializedHandlerIntents(Context context, Intent intent) {
    try {
        PackageManager pm = context.getPackageManager();
        List<ResolveInfo> handlers = pm.queryIntentActivities(
                intent,
                PackageManager.GET_RESOLVED_FILTER);
        if (handlers == null || handlers.isEmpty()) {
            return false;
        }
        for (ResolveInfo resolveInfo : handlers) {
            IntentFilter filter = resolveInfo.filter;
            if (filter == null) continue;
            if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) continue;
            if (resolveInfo.activityInfo == null) continue;
            return true;
        }
    } catch (RuntimeException e) {
        Log.e(TAG, "Runtime exception while getting specialized handlers");
    }
    return false;
}
 
开发者ID:ccrama,项目名称:Slide-RSS,代码行数:27,代码来源:CustomTabsHelper.java

示例6: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
private static boolean hasSpecializedHandlerIntents(Context context, Intent intent) {
    try {
        PackageManager pm = context.getPackageManager();
        List<ResolveInfo> handlers = pm.queryIntentActivities(
                intent,
                PackageManager.GET_RESOLVED_FILTER);
        if (handlers == null || handlers.size() == 0) {
            return false;
        }
        for (ResolveInfo resolveInfo : handlers) {
            IntentFilter filter = resolveInfo.filter;
            if (filter == null) continue;
            if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) continue;
            if (resolveInfo.activityInfo == null) continue;
            return true;
        }
    } catch (RuntimeException e) {
        Log.e("Error", "Runtime exception while getting specialized handlers");
    }
    return false;
}
 
开发者ID:theblixguy,项目名称:AutoScrollr,代码行数:22,代码来源:ChromePackageHelper.java

示例7: hasSpecializedHandlerIntents

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Used to check whether there is a specialized handler for a given intent.
 *
 * @param intent The intent to check with.
 * @return Whether there is a specialized handler for the given intent.
 */
private static boolean hasSpecializedHandlerIntents(final Context context, final Intent intent) {
    try {
        PackageManager pm = context.getPackageManager();
        List<ResolveInfo> handlers = pm.queryIntentActivities(
                intent,
                PackageManager.GET_RESOLVED_FILTER);
        if (handlers == null || handlers.size() == 0) {
            return false;
        }
        for (ResolveInfo resolveInfo : handlers) {
            IntentFilter filter = resolveInfo.filter;
            if (filter == null) continue;
            if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0)
                continue;
            if (resolveInfo.activityInfo == null) continue;
            return true;
        }
    } catch (RuntimeException e) {
        Log.e(TAG, "Runtime exception while getting specialized handlers");
    }
    return false;
}
 
开发者ID:saschpe,项目名称:android-customtabs,代码行数:29,代码来源:CustomTabsPackageHelper.java

示例8: isSpecializedHandlerAvailable

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Search for intent handlers that are specific to this URL aka, specialized
 * apps like google maps or youtube
 */
private boolean isSpecializedHandlerAvailable(Intent intent) {
	PackageManager pm = mActivity.getPackageManager();
	List<ResolveInfo> handlers = pm.queryIntentActivities(intent,
			PackageManager.GET_RESOLVED_FILTER);
	if (handlers == null || handlers.isEmpty()) {
		return false;
	}
	for (ResolveInfo resolveInfo : handlers) {
		IntentFilter filter = resolveInfo.filter;
		if (filter == null) {
			// No intent filter matches this intent?
			// Error on the side of staying in the browser, ignore
			continue;
		}
		// NOTICE: Use of && instead of || will cause the browser
		// to launch a new intent for every URL, using OR only
		// launches a new one if there is a non-browser app that
		// can handle it.
		if (filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0) {
			// Generic handler, skip
			continue;
		}
		return true;
	}
	return false;
}
 
开发者ID:NewCasino,项目名称:browser,代码行数:31,代码来源:IntentUtils.java

示例9: getSpecializedHandlersWithFilter

import android.content.IntentFilter; //导入方法依赖的package包/类
@VisibleForTesting
static ArrayList<String> getSpecializedHandlersWithFilter(
        List<ResolveInfo> infos, String filterPackageName) {
    ArrayList<String> result = new ArrayList<>();
    if (infos == null) {
        return result;
    }

    for (ResolveInfo info : infos) {
        IntentFilter filter = info.filter;
        if (filter == null) {
            // Error on the side of classifying ResolveInfo as generic.
            continue;
        }
        if (filter.countDataAuthorities() == 0 && filter.countDataPaths() == 0) {
            // Don't count generic handlers.
            continue;
        }

        if (!TextUtils.isEmpty(filterPackageName)
                && (info.activityInfo == null
                           || !info.activityInfo.packageName.equals(filterPackageName))) {
            continue;
        }

        if (info.activityInfo != null) {
            if (EPHEMERAL_INSTALLER_CLASS.equals(info.activityInfo.name)) {
                // Don't consider the Instant Apps resolver a specialized application.
                continue;
            }

            result.add(info.activityInfo.packageName);
        } else {
            result.add("");
        }
    }
    return result;
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:39,代码来源:ExternalNavigationDelegateImpl.java

示例10: isSpecializedHandlerAvailable

import android.content.IntentFilter; //导入方法依赖的package包/类
/**
 * Search for intent handlers that are specific to this URL aka, specialized
 * apps like google maps or youtube
 */
private boolean isSpecializedHandlerAvailable(@NonNull Intent intent) {
    PackageManager pm = mActivity.getPackageManager();
    List<ResolveInfo> handlers = pm.queryIntentActivities(intent,
        PackageManager.GET_RESOLVED_FILTER);
    if (handlers == null || handlers.isEmpty()) {
        return false;
    }
    for (ResolveInfo resolveInfo : handlers) {
        IntentFilter filter = resolveInfo.filter;
        if (filter == null) {
            // No intent filter matches this intent?
            // Error on the side of staying in the browser, ignore
            continue;
        }
        // NOTICE: Use of && instead of || will cause the browser
        // to launch a new intent for every URL, using OR only
        // launches a new one if there is a non-browser app that
        // can handle it.
        // Previously we checked the number of data paths, but it is unnecessary
        // filter.countDataAuthorities() == 0 || filter.countDataPaths() == 0
        if (filter.countDataAuthorities() == 0) {
            // Generic handler, skip
            continue;
        }
        return true;
    }
    return false;
}
 
开发者ID:XndroidDev,项目名称:Xndroid,代码行数:33,代码来源:IntentUtils.java

示例11: filterEquals

import android.content.IntentFilter; //导入方法依赖的package包/类
private boolean filterEquals(IntentFilter f1, IntentFilter f2) {
	int s1 = f1.countActions();
	int s2 = f2.countActions();
	if (s1 != s2) {
		return false;
	}
	for (int i = 0; i < s1; i++) {
		if (!f2.hasAction(f1.getAction(i))) {
			return false;
		}
	}
	s1 = f1.countCategories();
	s2 = f2.countCategories();
	if (s1 != s2) {
		return false;
	}
	for (int i = 0; i < s1; i++) {
		if (!f2.hasCategory(f1.getCategory(i))) {
			return false;
		}
	}
	s1 = f1.countDataTypes();
	s2 = f2.countDataTypes();
	if (s1 != s2) {
		return false;
	}
	s1 = f1.countDataSchemes();
	s2 = f2.countDataSchemes();
	if (s1 != s2) {
		return false;
	}
	for (int i = 0; i < s1; i++) {
		if (!f2.hasDataScheme(f1.getDataScheme(i))) {
			return false;
		}
	}
	s1 = f1.countDataAuthorities();
	s2 = f2.countDataAuthorities();
	if (s1 != s2) {
		return false;
	}
	s1 = f1.countDataPaths();
	s2 = f2.countDataPaths();
	if (s1 != s2) {
		return false;
	}
	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
		s1 = f1.countDataSchemeSpecificParts();
		s2 = f2.countDataSchemeSpecificParts();
		if (s1 != s2) {
			return false;
		}
	}
	return true;
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:56,代码来源:IntentResolver.java

示例12: filterEquals

import android.content.IntentFilter; //导入方法依赖的package包/类
private boolean filterEquals(IntentFilter f1, IntentFilter f2) {
    int s1 = f1.countActions();
    int s2 = f2.countActions();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasAction(f1.getAction(i))) {
            return false;
        }
    }
    s1 = f1.countCategories();
    s2 = f2.countCategories();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasCategory(f1.getCategory(i))) {
            return false;
        }
    }
    s1 = f1.countDataTypes();
    s2 = f2.countDataTypes();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasExactDataType(f1.getDataType(i))) {
            return false;
        }
    }
    s1 = f1.countDataSchemes();
    s2 = f2.countDataSchemes();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasDataScheme(f1.getDataScheme(i))) {
            return false;
        }
    }
    s1 = f1.countDataAuthorities();
    s2 = f2.countDataAuthorities();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasDataAuthority(f1.getDataAuthority(i))) {
            return false;
        }
    }
    s1 = f1.countDataPaths();
    s2 = f2.countDataPaths();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasDataPath(f1.getDataPath(i))) {
            return false;
        }
    }
    s1 = f1.countDataSchemeSpecificParts();
    s2 = f2.countDataSchemeSpecificParts();
    if (s1 != s2) {
        return false;
    }
    for (int i=0; i<s1; i++) {
        if (!f2.hasDataSchemeSpecificPart(f1.getDataSchemeSpecificPart(i))) {
            return false;
        }
    }
    return true;
}
 
开发者ID:TaRGroup,项目名称:IFWManager,代码行数:74,代码来源:IntentResolver.java


注:本文中的android.content.IntentFilter.countDataAuthorities方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。