首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在三星Galaxy S5上与短信共享文本

在三星Galaxy S5上与短信共享文本
EN

Stack Overflow用户
提问于 2015-07-17 12:51:37
回答 2查看 240关注 0票数 1

我试图通过短信分享文本。在大多数手机上,甚至三星手机上,除了Galaxy S5之外,它看上去都不错。

以下是代码:

代码语言:javascript
复制
public static void shareWithSMS(@NonNull Context context, @Nullable String text) {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", "", null));
    intent.setType("vnd.android-dir/mms-sms");
    intent.putExtra("sms_body", text);
    context.startActivity(intent);
}

它启动应用程序的短信,没有任何文字。有人知道为什么吗?

更新

其目的是启动设备的SMS应用程序,而不是发送sms。这就是我不使用SmsManager的原因。

EN

回答 2

Stack Overflow用户

发布于 2015-07-17 13:34:13

您有两种方法可以执行so.one,其中一种是使用smsManager(),另一种是使用Intent,所以使用此代码发送消息:

代码语言:javascript
复制
    Intent smsIntent = new Intent(Intent.ACTION_VIEW);
            smsIntent.setType("vnd.android-dir/mms-sms");
            smsIntent.putExtra("sms_body", getString(R.string.social_invitation));
            startActivity(smsIntent);

享受你的守则:)

票数 0
EN

Stack Overflow用户

发布于 2016-04-04 09:48:20

我也遇到了同样的麻烦。我在这里找到了解决方案,launch sms application with an intent

如果android版本是Kitkat或更高版本,用户可以更改默认的sms应用程序。此方法将获得默认sms应用程序,并启动默认sms应用程序。

代码语言:javascript
复制
private void sendSMS() {    
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) // At least KitKat
      {
         String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(this); // Need to change the build to API 19

         Intent sendIntent = new Intent(Intent.ACTION_SEND);
         sendIntent.setType("text/plain");
         sendIntent.putExtra(Intent.EXTRA_TEXT, "text");

         if (defaultSmsPackageName != null)// Can be null in case that there is no default, then the user would be able to choose
         // any app that support this intent.
         {
            sendIntent.setPackage(defaultSmsPackageName);
         }
         startActivity(sendIntent);

      }
      else // For early versions, do what worked for you before.
      {
         Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
         smsIntent.setType("vnd.android-dir/mms-sms");
         smsIntent.putExtra("address","phoneNumber");         
         smsIntent.putExtra("sms_body","message");
         startActivity(smsIntent);
      }
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31476282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档