【问题标题】:How to get the package name of sms app(default) in Android before KitKat version?如何在KitKat版本之前的Android中获取短信应用程序的包名(默认)?
【发布时间】:2015-04-06 12:31:25
【问题描述】:

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

【问题讨论】:

标签: android package sms


【解决方案1】:

请参考http://android-developers.blogspot.in/2013/10/getting-your-sms-apps-ready-for-kitkat.html

根据文档“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");
        }

【讨论】:

    【解决方案2】:

    下面的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;
    }
    

    高于或等于 kitkat

    Telephony.Sms.getDefaultSmsPackage(this)
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 谢谢,但是短信应用呢?
      猜你喜欢
      • 2014-03-10
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 2019-01-05
      相关资源
      最近更新 更多