Android 如何检查是否安装了拨号器应用程序?

Android 如何检查是否安装了拨号器应用程序?,android,Android,我的意思是,如何检查用户的设备不是没有拨号的平板电脑(或音乐播放器) 注意:我的应用程序使用拨号程序中输入的数字代码,所以我想检查它是否存在。在您尝试调用它之前,检查意图接收器/活动是否确实存在始终是一个好方法 其中一些原因是: 如果不存在意图,应用程序将强制关闭。 如果意向接收器不存在,您可能希望将用户重定向到市场以下载必要的应用程序。 根据意图的存在,您可能希望使菜单选项出现/消失 以下代码段包含两个函数:isIntentAvailable()和isActivityAvailable(),它

我的意思是,如何检查用户的设备不是没有拨号的平板电脑(或音乐播放器)

注意:我的应用程序使用拨号程序中输入的数字代码,所以我想检查它是否存在。

在您尝试调用它之前,检查意图接收器/活动是否确实存在始终是一个好方法

其中一些原因是:

如果不存在意图,应用程序将强制关闭。 如果意向接收器不存在,您可能希望将用户重定向到市场以下载必要的应用程序。 根据意图的存在,您可能希望使菜单选项出现/消失

以下代码段包含两个函数:isIntentAvailable()和isActivityAvailable(),它们可以执行检查并相应地返回布尔值

public boolean isIntentAvailable(Context context, String action) {
    final PackageManager packageManager = context.getPackageManager();
    final Intent intent = new Intent(action);
    List resolveInfo =
            packageManager.queryIntentActivities(intent,
                    PackageManager.MATCH_DEFAULT_ONLY);
   if (resolveInfo.size() > 0) {
     return true;
    }
   return false;
}

在使用操作字符串启动任何第三方应用程序之前,只需将其作为参数传递给此函数。

似乎正是我所需要的:

public static String TelephonyChecker (Context context) {
        TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
        if(manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE){
            return "Off";
        }else{
            return "On";
        }
    }