关闭

intent的相关

111人阅读 评论(0) 收藏 举报
分类:

检测一个intent是否有效:

public static boolean isIntentAvailable(Context context, Intent intent) {
    PackageManager packageManager = context.getPackageManager();
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
        PackageManager.GET_ACTIVITIES);
    return list.size() > 0;
}

检测是否有默认程序:

public final boolean hasPreferredApplication(final Context context, final Intent intent) {
    PackageManager pm = context.getPackageManager();
    ResolveInfo info = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
    return !"android".equals(info.activityInfo.packageName);
}

这里解释一下,如果没有设置默认程序,系统会弹出一个所有支持程序的列表,这个弹出的对话框其实是com.android.internal.app.ResolverActivity,包名是“android”,所以使用“android”字符串判断。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1051次
    • 积分:63
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档