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中,要跳转到系统发短信界面,可以使用Intent的ACTION_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);
这段代码会启动系统的短信应用,并自动填充目标号码,用户可以直接输入短信内容并发送。

