HarmonyOS 调用sms.sendShortMessage报201错误,但我只想打开短信发送界面

问题1:使用sms.sendShortMessage方法报201无权限错误,该怎样设置权限,手机系统应用列表也没有权限设置相关。

问题2:只是想打开短信发送界面,自动带入手机号就行了,该用哪个方法呢?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

问题1:ohos.permission.SEND_MESSAGES该权限暂不支持申请。

问题2:参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/telephony-sms-V5#开发步骤

demo:

import { common, Want } from '@kit.AbilityKit';

const MMS_BUNDLE_NAME = "com.ohos.mms";
const MMS_ABILITY_NAME = "com.ohos.mms.MainAbility";
const MMS_ENTITIES = "entity.system.home";

export class Contact {
  contactsName: string;
  telephone: number;

  constructor(contactsName: string, telephone: number) {
    this.contactsName = contactsName;
    this.telephone = telephone;
  }
}

@Entry
@Component
struct JumpMessage {
  private context = getContext(this) as common.UIAbilityContext;

  startMMSAbilityExplicit() {
    // 这里完善联系人和号码;姓名主要是通过手机号来查询实际联系人名称,因此这种方式还是以手机号码为主。
    let params: Array<Object> = [new Contact("xxx", xxxx)];

    let want: Want = {
      bundleName: "com.ohos.mms",
      abilityName: "com.ohos.mms.MainAbility",
      parameters: {
        contactObjects: JSON.stringify(params),
        pageFlag: "conversation",
        // 这里填写短信内容。
        content: "我是短信具体内容"
      }
    };

    this.context.startAbilityForResult(want).then((data) => {
      console.log("Success" + JSON.stringify(data));
    }).catch(() => {
      console.log("error");
    });
  }

  build() {
    Row() {
      Column() {
        Button('发送短信')
          .onClick(() => {
            this.startMMSAbilityExplicit();
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 如何调用短信应用发送短信
34浏览 • 1回复 待解决
HarmonyOS 调用系统完整性接口201
32浏览 • 1回复 待解决
DevEco Studio打开历史工程空指针错误
4968浏览 • 1回复 待解决
如何发送短信,有人知道吗?
1964浏览 • 1回复 待解决
如何跳转到系统发送短信页面
2121浏览 • 1回复 待解决
如何拉起短信界面并指定联系人
1915浏览 • 1回复 待解决
如何拉起短信界面然后指定联系人?
517浏览 • 2回复 待解决
推送服务系统错误1000900010
1775浏览 • 1回复 待解决
HarmonyOS 如何打开多个flutter界面
35浏览 • 1回复 待解决