HarmonyOS鸿蒙Next中如何跳转到系统发短信界面?

HarmonyOS鸿蒙Next中如何跳转到系统发短信界面? 如何跳转到系统发短信界面?

4 回复

可以调用元能力startAbility接口指定号码并跳转到发送短信页面,参考以下示例代码:

import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

@Entry
@Component
struct Index {
  @State appId: string = 'xxxxxx';
  controller: TextInputController = new TextInputController();
  build() {
    Row() {
      Column() {
        TextInput({ text: this.appId, placeholder: '请输入应用的appId', controller: this.controller })
          .width('90%')
        .onChange((value: string) => {
          this.appId = value
        })
        Button('点击跳转到鸿蒙版应用市场详情页面')
        .margin({top: 50})
          .onClick(() =>{
            const want: Want = {
              uri: store://appgallery.huawei.com/app/detail?id=${this.appId}
            };
            const context = getContext(this) as common.UIAbilityContext;
            context.startAbility(want).then(() =>{
              //拉起成功
            }).catch(() =>{
              // 拉起失败
            });
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS鸿蒙Next中如何跳转到系统发短信界面?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


import { common, Want } from '@kit.AbilityKit'; 
import { BusinessError } from '@kit.BasicServicesKit'; 
interface ModelContactInfo { 
  contactsName: string; 
  telephone: string; 
} 
function startMMSAbility(context: common.UIAbilityContext): void { 
  let contactInfo: Array<ModelContactInfo> = [{ 
    contactsName: 'ZhangSan', 
    telephone: '16888888888' 
  }]; 
  let want: Want = { 
    bundleName: 'com.ohos.mms', 
    abilityName: 'com.ohos.mms.MainAbility', 
    parameters: { 
      contactObjects: JSON.stringify(contactInfo), 
      pageFlag: 'conversation' 
    } 
  }; 
  context.startAbility(want).then(() => { 
    console.info('Start MMSAbility successfully.'); 
  }).catch((err: BusinessError) => { 
    console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`); 
  }); 
} 

@Entry 
@Component 
struct StartMMSAbilityView { 
  @State message: string = '拉起短信界面并指定联系人'; 
  build() { 
    Row() { 
      Column() { 
        Button(this.message) 
          .fontSize(24) 
          .fontWeight(FontWeight.Bold) 
          .onClick(() => { 
            const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; 
            startMMSAbility(context); 
          }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}

在HarmonyOS鸿蒙Next中,要跳转到系统发短信界面,可以使用IntentACTION_SENDTO操作。首先,你需要创建一个Intent对象,并设置其操作为ACTION_SENDTO。然后,通过Uri.parse("smsto:")来指定短信收件人,最后调用startAbility(intent)来启动短信界面。

示例代码如下:

import featureAbility from '@ohos.ability.featureAbility';
import wantConstant from '@ohos.ability.wantConstant';

let intent = {
    action: wantConstant.Action.ACTION_SENDTO,
    uri: 'smsto:1234567890' // 替换为实际的电话号码
};
featureAbility.startAbility(intent);

这段代码会跳转到系统的短信发送界面,并预填充收件人号码。

在HarmonyOS鸿蒙Next中,要跳转到系统发短信界面,可以通过以下代码实现:

Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto:1234567890")); // 替换为目标号码
startActivity(intent);

这段代码会启动系统的短信应用,并自动填充目标号码,用户可以直接输入短信内容并发送。

回到顶部