在KitKat版本之前,如何在Android中获取短信应用程序(默认)的包名?

在KitKat版本之前,如何在Android中获取短信应用程序(默认)的包名?,android,package,sms,Android,Package,Sms,在Android KitKat版本之后,我们可以通过“Telephony.sms.getDefaultSmsPackage(context);”找到默认的sms包名称。但是如何在KitKat版本之前获得软件包名称呢?在Android 4.4之前的Android中没有“默认短信应用”的概念。因此,无法获取此信息。请参考此信息 根据文档“Android 4.4(KitKat)将现有API公开,并添加了默认SMS应用程序的概念,用户可以在系统设置中选择该应用程序。” 在代码中,您应该将其作为单独的情况

在Android KitKat版本之后,我们可以通过“Telephony.sms.getDefaultSmsPackage(context);”找到默认的sms包名称。但是如何在KitKat版本之前获得软件包名称呢?

在Android 4.4之前的Android中没有“默认短信应用”的概念。因此,无法获取此信息。

请参考此信息

根据文档“Android 4.4(KitKat)将现有API公开,并添加了默认SMS应用程序的概念,用户可以在系统设置中选择该应用程序。”

在代码中,您应该将其作为单独的情况处理

         Intent smsIntent;
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(context); //Need to change the build to API 19
            smsIntent = new Intent(Intent.ACTION_SEND);
            smsIntent.setType("text/plain");
            smsIntent.putExtra(Intent.EXTRA_TEXT,"content");
            //if no default app is configured, then choose any app that support this intent.
            if (defaultSmsPackageName != null) {
                smsIntent.setPackage(defaultSmsPackageName);
            }
        } else {
            smsIntent = new Intent(Intent.ACTION_VIEW);
            smsIntent.setType("vnd.android-dir/mms-sms");
            smsIntent.putExtra("address", phoneNumber);
            smsIntent.putExtra("sms_body","body");
        }
对于以下kiktat

public static final String getDefaultSmsPackage(Context context){
    String defApp = Settings.Secure.getString(context.getContentResolver(), "sms_default_application");
    PackageManager pm = context.getApplicationContext().getPackageManager();
    Intent iIntent = pm.getLaunchIntentForPackage(defApp);
    ResolveInfo mInfo = pm.resolveActivity(iIntent,0);
    return mInfo.activityInfo.packageName;
}
高于或等于基特卡特

Telephony.Sms.getDefaultSmsPackage(this)

请检查@Narendra我想要的是包裹name@MalleswarChinta通过获取软件包名称,您到底想要实现什么?@Fahim我正在为我的android应用程序定制一个选择器,[谢谢,但是SMS应用程序呢?