如何检查是否在设备上安装的电子邮件客户端 [英] how to check whether email client installed on device

查看:151
本文介绍了如何检查是否在设备上安装的电子邮件客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要检查邮件客户端是否安装在设备上或没有。我用下面的code,但它不为我工作。

 公共布尔isIntentAvailable(){
    最终的软件包管理系统软件包管理系统= getApplicationContext()getPackageManager()。
    最终意向意图=新意图(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAILvin@gmail.com);
    清单< ResolveInfo>清单= packageManager.queryIntentActivities(意向,PackageManager.GET_META_DATA);
    返回则为list.size()> 0;
}


解决方案

使用这个,对我的作品:

 公共静态布尔isMailCli​​ent present(上下文的背景下){
    意向意图=新意图(Intent.ACTION_SEND);
    intent.setType(text / html的);
    最终的软件包管理系统软件包管理系统= context.getPackageManager();
    清单< ResolveInfo>清单= packageManager.queryIntentActivities(意向,0);    如果(则为list.size()== 0)
        返回false;
    其他
        返回true;
}

I need to check whether email client is installed on a device or not. I have used the following code but it does not work for me.

public boolean isIntentAvailable() {
    final PackageManager packageManager = getApplicationContext().getPackageManager();
    final Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAIL, "vin@gmail.com");
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.GET_META_DATA);
    return list.size() > 0;
} 

解决方案

Use this, works for me :

public static boolean isMailClientPresent(Context context){
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/html");
    final PackageManager packageManager = context.getPackageManager();
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, 0);

    if(list.size() == 0)
        return false;
    else 
        return true;
}

这篇关于如何检查是否在设备上安装的电子邮件客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆